Groups | Blog | Home
all groups > dotnet general > september 2003 >

dotnet general : MFC and dot NET


robert
9/30/2003 11:08:19 PM
Hi everyone,

I have a little question.

In Visual studio 6 the MFC is based under API WIN 32.

In dot net, the MFC of dot net, are based on API of dot net or on API
WIN 32?

And my last question, when i writte a application in dot net with mfc of
dot net, can i use the application on windows 95 or 98 only with the
dll and lib of dot net include in project or need i the framework dot
net also on windows 95-98 if i want use that project.

Thank's for your ask.

robert
Yves Tourchot
10/1/2003 2:16:28 AM

[quoted text, click to view]

Out of the box an MFC app is not managed.
ie: not using the .NET framework at all.

[quoted text, click to view]

Could be both.
Simply recompile your app with the Use Managed Extensions - /clr - switch
and you got a managed app needing the framework.


[quoted text, click to view]

robert private
10/1/2003 6:14:02 AM
Hello Yves, parles tu francais? si oui voila mes 2 questions.

Comme tu le sais tres certainement, dans dot net, l'api win32 a ete
reecrite pour en faire l'api dot net. Sous dot net les deux api
cohabitent. Sachant aussi que sous visual studio 6 les mfc etaient une
couche sur l'api win 32 ma question etait de savoir sous dot net les mfc
dot net sont une couche sur l'api win 32 ou sur l'api dot net.

Tout cela pour savoir si je fais une application et que si je souhaite
l'utiliser sous win95 ou win98 je dois uniquement prendre les dlls de
MFC version dot net ou si je dois aussi installer le framework dot net
sur les machines win95 -win98.

Merci d'avance de ta reponse



*** Sent via Developersdex http://www.developersdex.com ***
Yves Tourchot
10/1/2003 2:06:37 PM

Salut Robert,

Les échanges en français sont assez rare sur ce news.

[quoted text, click to view]

Les MFC ne sont reliés en aucune façon au framework .NET.


Si tu génère -avec le wizard - une application MFC avec VS2002 ou VS2003
sans ajouter une seule ligne de code
tu te retrouve avec:
- un .exe standard qui peu rouler sur toutes plateformes windows - sous
réserve des restrictions win32 évidemment
- utilise les mfc7XXX.dll plutôt que les mfc42xxx.dll - en link dynamique,
link statique possible comme dans VS6
- en regardant le code généré, il n'y a aucune référence à l'API .NET, rien
que du bon vieux MFC.


[quoted text, click to view]

Mais si tu change la switch de compilation sous General/Use Managed
Extensions et recompile la même application
tu te retrouve avec:
- une application MSIL - extension exe mais nécessite le framework pour être
lancé
- utilise les même mfc7XXX.dll en link dynamique

Maintenant pour utiliser le API et les types .NET par example la simple
classe suivante:

__gc class UseDotNet
{
public:
UseDotNet() {}
protected:
String* _Ver;
};

ou bien ce simple call du .NET api:

String* _sName = AppDomain::CurrentDomain->get_FriendlyName();

tu te doit d'inclure la ligne suivante pour pouvoir compiler:

using namespace System;

Comme tu vois les MFC sont indépendant du framework .NET mais les classes et
les types du framework peuvent coexister avec les MFC sans problème.

J'espère que cette explication puisse t'être utile!

[quoted text, click to view]

AddThis Social Bookmark Button