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 de package dans une application console


Sujet :

C++Builder

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut Problème de package dans une application console
    J'ai fait une application console et j'ai un problème avec un package personnel qu'elle utilise.

    A l'exécution, le programme demande mon package alors que j'ai:
    1) Décoché l'option "Dynamic RTL" (dans la section linker), et
    2) Décoché l'option "Build with runtime packages" (dans la section Packages)

    En fait, je vois que le linker a correctement linké "des" package parce que sa taille est substantiellement plus importante qu'avec "Build with runtime packages" coché. Mais tant que mon package (.pbl) n'est pas dans le répertoire, je n'arrive pas à lancer l'exe (note: les versions avec et sans les runtime packages fonctionnent si j'ai mon pbl dans le répertoire).

    Avez-vous une idée pour corriger ce link?

    PS: J'ai fait exactement la même application en "VCL Form Application" et tout fonctionne à merveille avec les mêmes options (j'ai mis mon code dans l'événement OnCreateForm() de la fiche principale)

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Hello,

    Et en rajoutant un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #pragma link "xxx" // xxx: nom du paquet sans .bpl
    dans le cpp principal ??

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Salut,

    Merci pour ta réponse, mais malheureusement cela ne corrige pas le problème. J'avais déjà dû le faire pour qu'il réussisse à linker le projet (mais j'ai dû mettre l'extension ".bpi" car sinon il cherche le ".obj" du package)

    Une autre idée?

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Curieux...
    Je viens de faire un essai sous 2007:
    - Création d'un paquet, qui ne contient qu'une fonction faisant un MessageBox.
    - Création d'une appli console (C++/VCL/application console)

    - Modification du cpp principal de l'appli:
    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
    //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit39.h"
     
    #pragma link "Package6.lib"
    //---------------------------------------------------------------------------
     
    #pragma argsused
    int main(int argc, char* argv[])
    {
      Test();
      return 0;
    }
    //---------------------------------------------------------------------------
    - Compilation de tout ce monde
    - Renommage du .bpl
    - Exécution de l'appli => impec (Process Explorer confirme qu'aucun paquet n'est chargé)

    Peut-être le pragma link à faire sur le .lib plutôt que sur le .bpi ??

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Salut Totoche76,

    Je fais un peu d'ordre et je constate qu'en grand impoli que je suis je ne t'avais pas indiqué que ta proposition (faire le pragma sur le ".lib" plutôt que le ".bpi") avait corrigé mon problème :-)

    Encore merci

    (et je ferme ma discussion avec le status de résolue)

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

Discussions similaires

  1. ShellExecute dans une application console?
    Par balu dans le forum Delphi
    Réponses: 5
    Dernier message: 24/06/2006, 21h26
  2. [C#]Marquer une pause dans une application Console
    Par KibitO dans le forum Windows Forms
    Réponses: 2
    Dernier message: 14/06/2006, 16h28
  3. Les caractères dans une application console
    Par maximedrouet dans le forum Langage
    Réponses: 2
    Dernier message: 26/05/2005, 16h44
  4. Utiliser un timer dans une application console
    Par chavers dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2005, 14h07

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