MFC and dot NET

R

robert

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
 
Y

Yves Tourchot

robert said:
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?

Out of the box an MFC app is not managed.
ie: not using the .NET framework at all.
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.

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

robert private

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
 
Y

Yves Tourchot

Salut Robert,

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

robert private said:
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.

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.

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.

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!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top