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++Builder Discussion :

Problème pour réaliser un executable


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Par défaut Problème pour réaliser un executable
    Bonjour

    Je programme une application sous C++ builder v4.0. Lors que je fais construire le projet, tous se lance normalement et tout se passe comme prévu. Mais l'executable n'apparait pas ni dans le fichier courant ni dans le fichier project de Borland. Auriez vous une solution?


    Sinon j'ai un warning sur le handle hMutex :[C++ Avertissement] Cathild.cpp(128): W8004 'hMutex' est affecté à une valeur qui n'est jamais utilisée., j'aimerais l'enlever. Auriez vous une solution? Voici le code
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
       HANDLE hMutex;
            try
            {
                    hMutex=CreateMutex(NULL,FALSE,"Application");
                    if(GetLastError()==ERROR_ALREADY_EXISTS) return 0;
    		Application->Initialize();
    		Application->Title = "Cathild";
                     SetCurrentDir(ExtractFileDir(ParamStr(0)) + "\\");
    		Application->CreateForm(__classid(TApplicathilde), &Applicathilde);
                     Application->CreateForm(__classid(TFImageGarde), &FImageGarde);
                     Application->CreateForm(__classid(TModifconduite), &Modifconduite);
                     Application->CreateForm(__classid(TProgfacultative), &Progfacultative);
                     Application->CreateForm(__classid(TPassword), &Password);
                     Application->CreateForm(__classid(TChangePassword), &ChangePassword);
                     Application->CreateForm(__classid(TDispersion), &Dispersion);
                     Application->CreateForm(__classid(TCoderegulation), &Coderegulation);
                     Application->CreateForm(__classid(TParamgestener), &Paramgestener);
                     Application->CreateForm(__classid(TConsom), &Consom);
                     Application->CreateForm(__classid(TRalenti), &Ralenti);
                     Application->CreateForm(__classid(TGrillelec), &Grillelec);
                     Application->CreateForm(__classid(TOptimisationregulservo), &Optimisationregulservo);
                     Application->CreateForm(__classid(TNumsortnomsech), &Numsortnomsech);
                     Application->CreateForm(__classid(TOptimisations), &Optimisations);
                     Application->CreateForm(__classid(TReglageSeuils), &ReglageSeuils);
                     Application->CreateForm(__classid(TAfficDebug), &AfficDebug);
                     Application->CreateForm(__classid(TTemps), &Temps);
                     Application->CreateForm(__classid(TEvents), &Events);
                     Application->CreateForm(__classid(TGestentre), &Gestentre);
                     Application->CreateForm(__classid(TCharge), &Charge);
                     Application->CreateForm(__classid(TCourbes), &Courbes);
                     Application->CreateForm(__classid(TChoixSechoir), &ChoixSechoir);
                     Application->CreateForm(__classid(TModifReduite), &ModifReduite);
                     Application->CreateForm(__classid(TModifPassword), &ModifPassword);
                     Application->CreateForm(__classid(TSuperviseurgeneral), &Superviseurgeneral);
                     Application->CreateForm(__classid(TChargement), &Chargement);
                     Application->CreateForm(__classid(TControlManu), &ControlManu);
                     Application->CreateForm(__classid(TGraphique), &Graphique);
                     Application->CreateForm(__classid(TSaisieArticle), &SaisieArticle);
                     Application->CreateForm(__classid(TEnregistrement), &Enregistrement);
                     Application->CreateForm(__classid(TAssistantSechage), &AssistantSechage);
                     Application->CreateForm(__classid(TContinuerCycle), &ContinuerCycle);
                     Application->CreateForm(__classid(TVerrouillage), &Verrouillage);
                     Application->Run();
            }
            catch (Exception &exception)
            {
                     Application->ShowException(&exception);
            }
            return 0;
    Merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 118
    Par défaut
    Bonsoir,

    pour ton message d'avertissement, je pense qu'il faut que tu inclus ton

    dans le try. En effet, comme il s'agit là d'un évènement conditionnel, il
    se peut, en cas d'erreur, que le programme ne passe pas dans le try, donc
    ton handle est défini mais pas utilisé. C'est ce que te dis BCB donc je dirais
    que ce bout de code doit résoudre ton second problème :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
          try
            {
                    HANDLE hMutex=CreateMutex(NULL,FALSE,"Application");
                    if(GetLastError()==ERROR_ALREADY_EXISTS) return 0;
    		Application->Initialize();
    		Application->Title = "Cathild";
                     SetCurrentDir(ExtractFileDir(ParamStr(0)) + "\\");
    		Application->CreateForm(__classid(TApplicathilde), &Applicathilde);
                     Application->CreateForm(__classid(TFImageGarde), &FImageGarde);
                     Application->CreateForm(__classid(TModifconduite), &Modifconduite);
                     Application->CreateForm(__classid(TProgfacultative), &Progfacultative);
                     Application->CreateForm(__classid(TPassword), &Password);
                     Application->CreateForm(__classid(TChangePassword), &ChangePassword);
                     Application->CreateForm(__classid(TDispersion), &Dispersion);
                     Application->CreateForm(__classid(TCoderegulation), &Coderegulation);
                     Application->CreateForm(__classid(TParamgestener), &Paramgestener);
                     Application->CreateForm(__classid(TConsom), &Consom);
                     Application->CreateForm(__classid(TRalenti), &Ralenti);
                     Application->CreateForm(__classid(TGrillelec), &Grillelec);
                     Application->CreateForm(__classid(TOptimisationregulservo), &Optimisationregulservo);
                     Application->CreateForm(__classid(TNumsortnomsech), &Numsortnomsech);
                     Application->CreateForm(__classid(TOptimisations), &Optimisations);
                     Application->CreateForm(__classid(TReglageSeuils), &ReglageSeuils);
                     Application->CreateForm(__classid(TAfficDebug), &AfficDebug);
                     Application->CreateForm(__classid(TTemps), &Temps);
                     Application->CreateForm(__classid(TEvents), &Events);
                     Application->CreateForm(__classid(TGestentre), &Gestentre);
                     Application->CreateForm(__classid(TCharge), &Charge);
                     Application->CreateForm(__classid(TCourbes), &Courbes);
                     Application->CreateForm(__classid(TChoixSechoir), &ChoixSechoir);
                     Application->CreateForm(__classid(TModifReduite), &ModifReduite);
                     Application->CreateForm(__classid(TModifPassword), &ModifPassword);
                     Application->CreateForm(__classid(TSuperviseurgeneral), &Superviseurgeneral);
                     Application->CreateForm(__classid(TChargement), &Chargement);
                     Application->CreateForm(__classid(TControlManu), &ControlManu);
                     Application->CreateForm(__classid(TGraphique), &Graphique);
                     Application->CreateForm(__classid(TSaisieArticle), &SaisieArticle);
                     Application->CreateForm(__classid(TEnregistrement), &Enregistrement);
                     Application->CreateForm(__classid(TAssistantSechage), &AssistantSechage);
                     Application->CreateForm(__classid(TContinuerCycle), &ContinuerCycle);
                     Application->CreateForm(__classid(TVerrouillage), &Verrouillage);
                     Application->Run();
            }
            catch (Exception &exception)
            {
                     Application->ShowException(&exception);
            }
            return 0;

  3. #3
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    moi je vote plutot pour un
    à la fin de ton try.

    Pr ton exe, t'as cherché sur le disque? histoire de voir où il le met

    Cordialement

  4. #4
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    Citation Envoyé par Xav++
    En effet, comme il s'agit là d'un évènement conditionnel, il
    se peut, en cas d'erreur, que le programme ne passe pas dans le try,
    Pourquoi ne rentrerait-il pas ds le try????

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 118
    Par défaut
    en effet, je viens de faire un test chez moi. C'est stupide ce que je dis. Il
    rentre forcément dans le try

    Ce doit être la fatigue (on se console comme on peut)

    @+

    Xav

  6. #6
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    ça arrive


  7. #7
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Pour creer ton executable il faudrait voir si comme sur BCB6 il ne faut pas decocher des cases.
    Voir les deux images jointes.

  8. #8
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    Salut !
    Citation Envoyé par blondelle
    Pour creer ton executable il faudrait voir si comme sur BCB6 il ne faut pas decocher des cases.
    Voir les deux images jointes.

    Je croi que tout le monde est fatigué aujourdh'ui lol, parceque la, quelque soit les cases cochées, si l'exe est lancé depuis BCB, il doit sûrement être quelque part dans ton disque

    Essayer de faire <Enregistrer le projet sous>, et reconstruit tout pour voire s'il n'est pas dans le même repertoire que celui du fichier projet que tu vien d'enregistrer, sinon vérifi si le chemin de la sortie final de l'exe généré, n'est pas changé, ç à d dans :
    Projet->Options->Repertoires/Conditionnel->Sortie final


    Bonne chance

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

Discussions similaires

  1. problème pour réaliser un état
    Par popofpopof dans le forum IHM
    Réponses: 12
    Dernier message: 25/08/2008, 23h17
  2. Problème pour lancer un executable java
    Par Niun dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 19/05/2006, 17h30
  3. Réponses: 2
    Dernier message: 22/01/2006, 01h11
  4. [CLASSPATH] problème pour réaliser la commande javac
    Par nana1 dans le forum Général Java
    Réponses: 3
    Dernier message: 25/10/2005, 15h47

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