IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Int�grer du MFC dans un projet qui n'en a pas. c'est possible?


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre � l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par d�faut Int�grer du MFC dans un projet qui n'en a pas. c'est possible?
    Bonjour � tous,

    je viens vers vous car je d�bute avec la programmation Windows et je me trouve pris par le temps.

    Je vais tacher de vous r�sumer ma situation et mon environnement de travail en esp�rant �tre assez clair. Ne sachant pas tout les �l�ments qui pourraient vous �tre utile, je vous pris de ne pas h�siter � me solliciter pour avoir des pr�cisions sur des options, des copies d'�cran ou autre.

    Pour mieux me situer, j'ai repris des �tudes et je dois r�aliser un projet de d�v. Mes cours n'ont pas �t� sp�cifiquement orient� technologie Microsoft et environnement Windows. C'est une formation assez g�n�raliste qui donne un aper�u de plusieurs langage de d�v, des bases de donn�es, du SI, ....

    Mon projet m'a �t� fourni par une entreprise d'imagerie m�dicale qui souhaite ajouter la prise en charge d'un nouveau mat�riel � son logiciel maison. Pour cela, l'entreprise m'a fourni les �l�ments suivant :
    - Librairie Qt � compiler sur notre poste en v4.7
    - Librairie OpenCV v2.2 (pour le traitement d'image)
    - Librairie dcmtk v3.5.4 (manipulation norme DICOM)
    - Langage C++
    - IDE : Visual Studio 2010 Express
    - le nouveau mat�riel est fourni avec un SDK comprenant dll, .cpp et .h pour acc�s � la dll et une appli d�mo avec ses sources.

    Mon probl�me : n'arrivant pas � compiler un programme de test pour appeler la dll, j'ai perdu du temps � comprendre qu'elle utilise les librairie MFC. Ensuite j'ai �galement perdu du temps � comprendre que la version Express de Visual ne g�re pas les MFC. Ce point � �t� r�gl� en passant � la version Visual Studio Pro.

    N�anmoins, je n'arrive pas � compiler car je ne sais pas comment faire pour int�grer dans un simple projet en C++ des �l�ments de classe MFC?
    Dois-je changer des param�tres au projet Visual ou bien faire l'ajout de .h ou bien les 2?
    Mais la r�ponse est peut-�tre que c'est impossible?....

    Voil�, je me noie sous la documentation qui me parle de MFC pour faire de jolie application fen�tr�e mais moi je n'ai pas besoin de l'affichage de la fen�tre (il y a Qt) donc je ne trouve pas de r�ponse pour r�gler mes probl�mes d'int�gration/compilation.

    Merci d'avance pour �tre arriv� � lire jusqu'� cette ligne et encore plus de merci si vous pouvez m'aider/m'orienter pour trouver une solution

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Je dirais que �a d�pends de quelles parties de MFC sont utilis�es par le code que tu veux ajouter � ton application...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre �m�rite
    Homme Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 564
    Par d�faut
    Bonjour.

    Il nous faut un minimum d'infos pour t'aider, par exemple quelles sont les erreurs lors de la compilation et le code minimaliste de ton test. Je confirme les dires de M�dinoc, si tu n'utilises pas de classes MFC il n'y a aucune raison d'inclure les ent�tes dans ton projet en revanche tu devras modifier les propri�t�s de ton projet pour lui dire d'utiliser les MFC ainsi que les diff�rents dossiers (include, lib).

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Je confirme les dires de mes voisins du dessus.
    Mais je voudrais ajouter ma pierre au questionnement.
    Vous indiquez que l'exemple fourni dans le SDK utilise les MFC, mais il y a une chose tr�s importante � savoir d�s le d�but :
    Est-ce que la Dll a besoin des MFC ?
    Si ce n'est que le programme de test qui � besoin des MFC, vous n'avez pas besoin de vous emb�ter avec les MFC. Faire cohabiter les MFC et Qt est une t�che qui potentiellement est tr�s complexe voir impossible.
    La documentation du SDK devrait indiquer la d�pendance aux MFC, et � quelle version, si c'est la dll qui est d�pendante des MFC.
    Si vous avez des extraits du code qui correspondent a l'utilisation des fonctions de la Dll, cela permettrait de savoir si c'est la Dll ou l'exemple qui a besoin des Dll.
    Vous pouvez utiliser dependency walker (http://www.dependencywalker.com/)pour savoir si la Dll depend fortement des MFC.

  5. #5
    Membre � l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par d�faut
    Bonjour,

    merci de vos retour et mes excuses du retard pour r�pondre mais d'autre priorit� mon occup� entre temps (des exams par exemple )

    Voici une partie du fichier .h qui me pose soucis et particuli�rement une ligne :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    /** *************************************************************** **
     **          Radiography Detector: application interface            **
     **  (c) VATech                                         by S.B.     **
     **  initial release: July-2007                                     **
     **  recent edition : Sept-2008                                     **
     ** *************************************************************** **/
     
    #ifndef VADAVINTF_H_INCLUDED
    #define VADAVINTF_H_INCLUDED
      ////// acquisition //////
     
    ////  Je passe le code qui ne pose pas de souci //////
     
      typedef struct {         // Custom information record
    	  int  rNumReceivedRows, // acquisition uses this field to print messages
    		  rComplete;        // indicates that caller terminates (by some reason) and expects "close"
    	  // the possible reasons are: 'complete', 'error' or 'abort'
    	  int rCalMode;
    	  CWnd *rhWnd;
      } tCallBackRec;
     
      // callback procedure  
      typedef void (_stdcall *tVDC_CallBackProc)( tVDC_CallBackRec* );
     
    ///// Je vous épargne le reste du code
    Si mes recherches sont bonnes ma structure ci-dessus contient le type CWnd qui correspond � un objet MFC, selon MSDN : "Fournit les fonctionnalit�s de base de toutes les classes de fen�tres dans la biblioth�que MFC".
    Lors de la compilation de mon projet Qt, le compilateur me dis qu'il manque un ';' apr�s 'CWnd *'. La structure est utilis�e pour communiquer des informations entre le capteur et mon "futur" programme mais je ne pense pas que la dll s'amuse � afficher des fen�tres

    Ci-dessous, l'ent�te du fichier cpp le reste du code ne me semble pas pertinent pour le moment.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    /** *************************************************************** **
     **          Radiography Detector: application interface            **
     **  (c) VATech                                         by S.B.     **
     ** *************************************************************** **/
     
    #include "stdafx.h"
    #include "windows.h"
    #include "tchar.h"
    #include "VADAVIntf.h"
    Voici mes �tapes de travail pour test� la librairie avec Qt.
    J'ai install� Qt sous Visual 2010 en suivant le tuto de Xavinou http://qt.developpez.com/tutoriels/e...l-studio-2010/.
    J'ai repris le projet test et seulement ajout� le .h et le .cpp au projet.
    Il s'agit d'un projet de type 'makefile' et la compilation est tomb� en erreur en me disant parmi les erreur qu'il manque un ';' apr�s 'CWnd *'.

    J'ai cr�� un projet "hello world" sous Visual de type MFC, j'y ai ajout� le .h et le .cpp et l� j'ai pus compiler. En voulant jouer sur les propri�t�s des projets MFC et 'makefile' je me rend compte que les options disponibles ne sont pas les m�mes. Il faut s�rement ajouter des lib et includes mais je ne sais pas lesquels.

    Pour la documentation du SDK, la seul infos � ma disposition est la suivante :
    This library (and demo projects) is originally written in � MS Visual C 6.0 �. That old IDE (Integrated Developers� Environment) was used for fast installation for debug when required. Release version built by �MS Visual Studio 2005� (that improves 2-5% speed of calibration and image processing). Supplementary projects are for �VC 6.0� or �VS 2005� (they exist in directories with extension �.VC8�). MFC is built-in as static library.
    J'esp�re avoir pr�cis� un peu les choses, pour les msg d'erreurs je compl�terai un peu plus tard car je n'ai pas la machine sous la main au moment o� je saisi ces lignes.

    Encore merci de votre aide.

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Houl�, m�langer des CWnd* (l'essence de l'interface graphique dans MFC) avec des fen�tres QT, �a s'annonce tr�s mal. QT est cens� faire abstraction de l'API Windows, alors que MFC l'embrasse compl�tement...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. R�ponses: 1
    Dernier message: 28/01/2011, 12h11
  2. int�grer google maps dans son projet
    Par miya dans le forum Flex
    R�ponses: 11
    Dernier message: 17/04/2009, 19h04
  3. Int�grer le framework dans un projet
    Par costaupo dans le forum G�n�ral Dotnet
    R�ponses: 1
    Dernier message: 16/03/2007, 10h57
  4. R�ponses: 1
    Dernier message: 02/03/2007, 21h55
  5. [MFC] Utiliser la MFC dans un projet ATL
    Par glKabuto dans le forum MFC
    R�ponses: 6
    Dernier message: 24/04/2006, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo