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

Bases de données Delphi Discussion :

[DetailAlias] Récupèrer le Path du BDE


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 41
    Points : 30
    Points
    30
    Par défaut [DetailAlias] Récupèrer le Path du BDE
    J'utilise cette fonction trouvée sur le FAQ qui retourne entre autre le Path d'un alias BDE:

    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
     
    uses
      BDE;
     
    function DetailAlias(Alias : String): DBDesc;
    var
      tStr: array[0..100] of char;
      Description: DBDesc;
    begin
      StrPLCopy(tStr, Alias, High(tStr));
      DbiGetDatabaseDesc(tStr, @Description);
      result:= Description;
    end;
     
    procedure TMyForm.MyButtonClick(Sender: TObject);
    begin
      with DetailAlias('DBDEMOS') do
      begin
        Label1.Caption := StrPas(szName);
        Label2.Caption := StrPas(szPhyName);
        Label3.Caption := StrPas(szDbType);
      end;
    end;
    Or je n'arrive pas à le faire marcher. Rien ne s'affiche dans les labels.
    Y a-t-il une astuce ??

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Le path que je cherche à récupérer est tiré d'un "objet" de type paradox dans mon BDE.

    C'est peut-être paradox qui coince ?

  3. #3
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 594
    Points
    594
    Par défaut
    Je te fille ma procédure je n'ai pas essayé celle de la FAQ pour voir si tu n'a pas fais d'erreur mais en voici ma procedure :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function GetAliasPath(Alias: String): String; 
    var 
      Liste: TStringList; 
    begin 
      Liste := TStringList.Create; 
      try 
        Session.GetAliasParams(Alias, Liste); 
        Result := Liste.Values['PATH']; 
      finally 
        Liste.Free; 
      end; 
    end;
    J'espère que celle là va marcher pour toi.

  4. #4
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut Re: [DetailAlias] Récupèrer le Path du BDE
    Citation Envoyé par vali
    Rien ne s'affiche dans les labels.
    Tu obtiens un message d'erreur du genre "Erreur xxxxx"? Si oui lequel ?

    Sinon effectivement, la solution de JustMe fonctionne correctement...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Alors pour la fonction du FAQ, j'ai rajouté un check
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     check(DbiGetDatabaseDesc(tStr, @Description));
    et voici le message d'erreur :
    Le projet a provoqué une classe d'exception EDBEngineError avec le message 'Une erreur
    est survenue lors de l'initialisation du Borland Database Engine' (erreur $2014)



    En ce qui concerne la fonction de Just Me, elle m'a l'air de fonctionner. Je la teste en ce moment même...

  6. #6
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    C'est normal que cette erreur apparaisse.

    En effet, la fonction Check appele la fonction DbiError si le résultat d'une opération est différent de 0, c'est cette dernière qui crée alors l'exception!

    Tout ce qu'il faut faire, c'est ajouté l'unité DBTables dans ta clause uses, puis à la création de la fiche, faire un Session.Open, ensuite un Session.Close à la fermeture de celle-ci.

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

Discussions similaires

  1. [vb.net]récupérer le path Unc
    Par Franck2mars dans le forum Windows Forms
    Réponses: 4
    Dernier message: 04/05/2006, 10h17
  2. [VS/C#] => Comment récupérer le path du bureau ?
    Par MaTHieU_ dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/03/2006, 21h54
  3. Récupérer le Path d' un repertoire
    Par wil4linux dans le forum ASP
    Réponses: 2
    Dernier message: 15/09/2005, 19h30
  4. Récupérer le path d'Internet Explorer et Firefox
    Par cpdump dans le forum Langage
    Réponses: 4
    Dernier message: 11/09/2005, 21h23
  5. récupérer le path system
    Par Eugénie dans le forum MFC
    Réponses: 4
    Dernier message: 22/12/2003, 14h03

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