begin process at 2012 05 29 02:41:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

GUI

 > 

Dialog MFC d'une DLL dans une application non MFC


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Dialog MFC d'une DLL dans une application non MFC

vendredi 6 mars 2009 à 11:47:06 | Dialog MFC d'une DLL dans une application non MFC

auwel

Voilà j'ai une dll (MFC partagée) qui contient une fonction permettant l'affichage d'une boîte de dialogue. Cette fonction fonctionne correctement si je l'appelle avec un projet MFC.
Cependant lorsque je l'appelle avec un projet non MFC, la boite de dialogue ne s'affiche pas car HWND hWndParent retourné par la fonction PreModal() me retourne NULL dans la fonction DoModal().
Quelqu'un pourrait m'aider?

Nb: toutes les autres fonctions fonctionnent du moment qu'il n'y a pas d'affichage à faire.

merci
vendredi 6 mars 2009 à 12:14:58 | Re : Dialog MFC d'une DLL dans une application non MFC

BruNews

Administrateur CodeS-SourceS
C'est tout le contraire qu'il faut prévoir.
Un prog peut utiliser toutes les surcouches qu'il voudra (MFC ou plus exotique) mais une DLL doit toujours être indépendante.

ciao...
BruNews, MVP VC++
vendredi 6 mars 2009 à 12:21:22 | Re : Dialog MFC d'une DLL dans une application non MFC

auwel

D'accord mais ma DLL doit utiliser les MFC pour accéder à certaines fonctions. Mais je veux ensuite pouvoir distribuer ma DLL afin qu'elle soit utiliser par des progs non MFC !!!
vendredi 6 mars 2009 à 12:31:22 | Re : Dialog MFC d'une DLL dans une application non MFC

BruNews

Administrateur CodeS-SourceS
NON et NON, une dll n'a pas à utiliser MFC ni rien d'autre que les fonctions API du système.
Tenir compte du fait qu'il faudra aussi un setup pour utiliser la dll, c'est une hérésie.
Tout ce qui se fait en MFC peut se faire en C sur API, pas l'inverse.

ciao...
BruNews, MVP VC++
vendredi 6 mars 2009 à 14:11:34 | Re : Dialog MFC d'une DLL dans une application non MFC

ed73

Bonjour

Il est bien sûr possible de faire une dll en MFC, j'en ai fait plein et je ne vois pas où est le problème. Il suffit de fournir MFC42.dll lors de la distribution de la dll.

Par contre, pour des appels depuis des applications non MFC le plus simple est de fournir une interface en C, c'est à dire d'exporter des fonctions C et pas des classes C++ (utilise extern "C"). J'ai ainsi écrit une dll en MFC qui s'utilise à partir de n'importe quel langage (C, C++, Visual Basic, Java, Delphi, et même Excel) avec 2 niveaux d'interfaçage (C et C++)

Pour ce qui est de l'affichage d'une dialogbox de la dll il faut que tu indiques à ton programme où aller prendre les ressources, c'est à dire dans la dll. La fonction AfxSetResourcehandle est là pour ça.

Regarde ici : http://cpp.developpez.com/faq/vc/?page=DLL

ed73










vendredi 6 mars 2009 à 14:22:30 | Re : Dialog MFC d'une DLL dans une application non MFC

auwel

Merci pour cette info. Aurais-tu un exemple concret à m'envoyer ?
En te remerciant
vendredi 6 mars 2009 à 14:49:05 | Re : Dialog MFC d'une DLL dans une application non MFC

auwel

Et pour plus d'information, j'ai exporter mes fonctions avec extern "C" et mes classes avec AFX_EXT_CLASS et je distribue ma DLL avec un setup qui installe les DLLs MFC nécessaire.

Par contre c'est vraiment l'affichage de mon dialogue qui me pose problème. Donc serait-il possible d'avoir un exemple simple d'affichage d'un boîte de dialogue par l'appel d'une fonction dans un projet MFC avec la méthode AfxSetResourcehandle?

Si c'est possible de me l'envoyer sur auwel@free.fr

Merci
vendredi 6 mars 2009 à 18:21:52 | Re : Dialog MFC d'une DLL dans une application non MFC

BruNews

Administrateur CodeS-SourceS
"Il suffit de fournir MFC42.dll ..."
encore faut-il compiler avec un VC++ du siècle dernier.

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : fonction, application, dll, dialog, mfc


Répondre à ce message

Sujets en rapport avec ce message

dll+MFC [ par typhoun ] salut enfait j'ai deux prob1/   j'ai creé une dll sous matlab et je doit l'utiliser sous VS en C++ MFC       le prob ce trouve au moment ou j'utilise Comment réliser une installation pour vos applications MFC [ par thr_dreamer_57 ] salut tout le monde et merci de votre attention Mon problème c'est que j'ai réaliser une petite application MFC (dont je vous ferai part prochai Utiliser une dll managée sur un application MFC [ par billou_13 ] Tout est dans le titre ...Ayant développé un dll managée en C++ .Net, je voudrais savoir s'il est possible de l'utiliser dans une application MFC (C++ socket dans une DLL MFC [ par jb_exe ] Bonjour à tous...j'essai de réaliser une petit application qui ne ferait que lancerdes dll ( avec LoadLibrary ) comme si il s'agisait de plugin....j'a Ajouter un menu dans une application MFC AppWizard (Dialog based ) [ par yaslikurk ] Bonjour,En effet je suis un débutant en programmation C++ (avec MFC AppWizard).Cependant j'ai crée un projet WCE MFC AppWizard (avec embedded c++) et dialogue avec dll [ par Chayy ] Bonjour,je cherche à donner des informations à ma dll à partir de mon application principale. Je dois lui fournir deux tableaux, qui seront utilisés d fenetre "browser" avec Boite de Dialog [ par nicky200320 ] Bonjour a tous,Je suis en train de faire un code C++ with MFC.Je souhaiterais savoir comment je peux faire pour créer une fenetre "browser" en boite d portage de programme [ par nicky200320 ] Bonjour a tous, J'ai un probleme de portage de programme. J'ai effectué un calculette en Boite de Dialogue en utilisant les MFC.Mais lorsque ce progra Jouer un fichier xvid dans une application dialog based [ par Daniel13 ] Bonsoir,Je cherche à jouer un fichier xvid dans mon application (et également à afficher un numéro de frame prédéfinit).De ce que j'ai pu trouver sur dll [ par wasaikos ] salut à tous,j'ai une grande question!!j'aimerais savoir comment appeler une fonction membre d'une classe d'une dll.j'utilise windev 11 et le problème


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales