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

 Delphi Discussion :

executable d'un programme delphi


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 83
    Points : 64
    Points
    64
    Par défaut executable d'un programme delphi
    Bonjour a tous,
    je cherche a créer un exectable de mon programme delphi, j'utilise innosetup pour pouvoir le créer et tout se passe bien sauf que j'ai un etat rave report qui est lié a mon programme et mème lorsque j'inclu le fichier .rav dans l'executable je me retrouve confronté a une erreur lorsque je l'install sur un autr pc
    l'erreur vien du fait qu'il ne trouve pas le chemin spécifié dans le composant raveproject qui lie mon etat a mon application.
    Donc ma question est de savoir si il est possible de spécifier ce chemin dynamiquement dans delphi ou par quelconque autre moyen

    merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 468
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 468
    Points : 1 342
    Points
    1 342
    Par défaut
    @ Shibron, le plus simple pour moi c'est d'appeler et sauver ton fichier *.rav dans le même dossier que l'application dans le OnCreate avec "ExtractFilePath(Application.ExeName)", ce qui fait lors de l'installation avec InnoSetup, ton fichier se trouvera aussi dans le même dossier et le chemin sera correct lors de l'appel.

    InnoSetup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [Files]
    Source: "C:\Data\Mon.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Data\Mon fichier.rav"; DestDir: "{app}"; Flags: ignoreversion
    @+,

    Cincap

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 83
    Points : 64
    Points
    64
    Par défaut
    merci de ta réponse mais etant donné que je suis debutant en delphi je ne suis pas sur de comprendre ton raisonnement

    ta réponse soulève plusieurs questions de ma par :

    -Comment "appeler" mon fichier *.rav dans l'évènement on create de mon formulaire ( est-ce simplement en utilisant l'extraction du chemin du fichier?)

    - Comment "sauvegarder" mon fichier *.rav dans ce même évènement ( cela se fait-il au moment de la création du setup grâce a l'appel definit ci-dessus?)

    Dans tous les cas merci de ton aide

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 83
    Points : 64
    Points
    64
    Par défaut
    j'ai trouvé se que tu voulais me dire en fait j'ai mis le code suivant dans l'evenement onCreate de mon formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RVProject1.ProjectFile := ExtractFilePath(Application.ExeNAme) +'project1.rav'
    cela fonctionne au niveau de l'installation cependant sur les autres postes lorsque le logiciel est installé je ne peut pas imprimer

    une erreur de violation d'adresse survient et la je ne vois pas du tout d'où cela provient

    mon problème initiale etant résolu je posterais ce problème ultérieurement

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 468
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 468
    Points : 1 342
    Points
    1 342
    Par défaut Voici un bout de code !
    Bonjour à toutes et à tous,

    @ Shibron, j'utilise une fonction pour valider ou creer un dossier facilement :

    function ValiderPath(Str : String) : String;
    var i : Integer;
    begin
    if Copy(Str, 1, 2) = '\\' // Unité de réseau ...
    then RESULT := '\' // Prefixe ...
    else RESULT := '';

    i := Pos('\\', Str);

    while i > 0 do
    begin
    Delete(Str, i, 1);
    i := Pos('\\', Str);
    end;

    RESULT := RESULT + Str;
    end;
    Puis dans le OnCreate de la fiche pour créer le dossier "Rapport" :

    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
     
    procedure TFenregistre.FormCreate(Sender: TObject);
    Var
    DestOk : boolean;
    chappli, chemin : String;
    begin
     
     chappli := ExtractFilePath(Application.ExeName);
     chemin := ValiderPath(chappli + '\Rapport');
     
     if not DirectoryExists(chemin)
        then DestOk := CreateDir(chemin)
        else DestOk := true;
      if DestOk
        then begin
    ......
    ........
    end;
    Avec ce code, tu peux sauver et charger le document dans son dossier qui a été créé dans le même répertoire que ton application.

    Si tu as Vista, le dossier rapport ne doit pas être créé dans les dossiers sensibles à cause de l'UAC.

    @+,

    Cincap

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/11/2009, 11h40
  2. programme delphi impossible à executer sur un poste
    Par lux dans le forum Composants VCL
    Réponses: 4
    Dernier message: 23/11/2005, 22h22
  3. [Execution] Démarrer un programme d'un cdrom
    Par zzman dans le forum Général Java
    Réponses: 4
    Dernier message: 29/11/2004, 17h50
  4. [Debutant(e)]Execution d'un programme externe
    Par saidi_chahrat dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 26/08/2004, 12h35
  5. Xterm se fermant après l'éxécution d'un programme ?
    Par Clemaster dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 29/03/2004, 16h49

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