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

C++ Discussion :

Intégrer code du port parallèle dans un projet sans fonction main


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 87
    Par défaut Intégrer code du port parallèle dans un projet sans fonction main
    Bonjour a tous,

    Je dois connecter deux ordinateurs via le port parallèle. J' ai trouvé sur ce site: http://logix4u.net/Legacy_Ports/Para...000/NT/XP.html, la dll inpout32 avec un code c à tester et ça fonctionne. J'appelerai ce projet: projetPP

    Seulement je dois intégrer cette partie du port parallèle dans un projet existant beaucoup plus complexe (que j'appellerai projetGlobal) que je n'ai pas développer et que j'ai trouvé dans mon labo. Grosso modo, ce projet contrôle des appareils électroniques et fonctionne très bien mais hélas il est dépourvu de commentaires du programmeur.

    Le projetPP contient trois fichiers:
    inpout32.h et inpout32.c que j'ai pu copier facilement dans le projetGlobal
    un fichier test.c qui contient la fonction int main(void) qui permet justement d'écrire sur le port parallèle et dont le code est le suivant:

    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
    int main(void)
    {
         HINSTANCE hLib;
     
         // Attempt to initialize the interface
         if (inpout32_init() != 0) {
     
              fprintf(stderr,
                   "ERROR: Failed to initialize Inpout32 interface!\n");
     
              exit (-1);
         }
     
    /* *************************************************** */
    /*  IF WE REACHED HERE, INITIALIZED SUCCESSFUL    **** */
    /* *************************************************** */
     
         /* test the function */
     
         test_write_datum(0xAA);
     
         /* finished - unload library and exit */
         inpout32_unload();
     
         return 0;
    }
    Mon gros problème, c'est que je ne trouve pas de fonction main dans le projetGlobal et donc je ne sais pas dans quel partie du projet je dois copier ce code ci-dessus. Merci pour votre indulgence et votre aide.

    Pour info, j'utilise Visual C++ 2008 express edition

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Sous Windows le point d'entrée d'un programme peut être WinMain et non main.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 87
    Par défaut
    Merci Melem mais je ne trouve pas WinMain non plus

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 87
    Par défaut
    Je viens de réaliser que mon projetGlobal est une application MFC. Je ne sais pas du tout ce que c'est, mais est-ce la raison de l'absence de la fonction main?

  5. #5
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Dans ce cas ce sera un peu plus compliqué. Une application MFC possède toujours une classe qui dérive de CWinApp et qui représente l'application. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CMyApp : public CWinApp {
        ...
    };
    Supposons que le nom de la classe soit effectivement CMyApp, alors cherche l'implémentation de la fonction CMyApp::InitInstance. Dans une application MFC, c'est la fonction qui ressemble le plus à un main. N'hésite pas à consulter les tutoriels MFC du site en cas de problème.

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 87
    Par défaut
    C'est bon, j'ai trouvé BOOL CMyApp::InitInstance() qui appelle CMyApp dlg mais je ne m'y connais pas du tout en application MFC et je vois que ce n'est pas très simple surtout que je débute sous C++.

    Je pense que je n'ai pas le droit de copier directement ma fonction main ci-dessus sous CMyApp::InitInstance, comment faire pour copier mon code sous InitInstance?

    Merci encore pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Intégrer Doctrine 2.3.1 dans un projet
    Par xess91 dans le forum Doctrine2
    Réponses: 2
    Dernier message: 25/01/2013, 22h34
  2. Réponses: 11
    Dernier message: 24/01/2012, 15h09
  3. Réponses: 6
    Dernier message: 14/02/2011, 10h40
  4. Créer un Timer (ou équivalent) dans un projet sans Form
    Par avigeilpro dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 13/05/2007, 17h52
  5. ActiveX dans un projet sans interface graphique
    Par Nalfouille dans le forum MFC
    Réponses: 6
    Dernier message: 04/01/2006, 17h30

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