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

EDI Delphi Discussion :

Chemin des DLL dans EDI


Sujet :

EDI Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Chemin des DLL dans EDI
    Bonjour,

    Un fournisseur de caméra m'a adressé dessources Delphi, mais comme je n'arrive pas à compiler son support technique me répond :

    you need to replace them within your Delphi-Project. It should be shown in the documentation of your Delphi IDE how you include external DLL’s.

    J'ai le nom et le chemein des DLL en question comment les inclure dans l'EDI ?

    Merci à tous

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Tu as des problèmes de compilation et ils te répondent d'inclure des DLL à Delphi ? Euh c'est pas très cohérent !

    Il n'y a pas de Chemin de DLL dans Delphi !
    Il y a des modules d'extensions mais je ne crois pas que cela soit le cas de tes outils !

    Il y a les chemins pour les DCU et les PAS, pour les fichiers BPL mais pas pour des DLL
    Peut-être, il mentionnait le répertoire de travail que l'on peut spécifier lors d'un débogage d'un EXE !

    Tu essayes de compiler un code source ! C'est quoi c'est un Framework ? il s'installe avec un DPK ? Est-ce juste un code de démo ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut
    Voici son précédent email :

    it seems that the debug DLL is used for compiling. To run it, their runtimes are needed. Please try to compile with the non debug version of the DLL (does not end with “D”) - this should solve your problem.

    Il m'a communiqué les sources Delphi d'un projet avec deux unités qui se compilent, génère un exe qui ne s'exécute pas !

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Compilez avec des DLL de Debug ?
    En gros, ils t'ont fourni un code de test, il pourrait au moins fournir un truc correct !

    Déjà, les termes utilisés par le support technique ne sont pas exact !
    On fait une édition de lien avec chargement statique par external ou chargement dynamique via LoadLibray\GetProcAddress
    Mais on ne compile pas AVEC une DLL ! Subtilité : Bibliothèques et packages (Delphi)

    Il te faut probablement mettre les DLL avec l'EXE !
    tu n'aurais pas un message de DLL non trouvées au lancement de l'EXE

    Dans le code source fourni, tu dois avoir des external !

    un truc genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function MaFonction(LeParamtre: integer): LongBool; external 'MaDLLD.dll';
    Si je comprends MaDLLD devrait être MaDLL
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut
    Le message en fin de compilation est :
    "L'application n'a pas réussi à s'initialiser correctement" suit une adresse

    J'ai effectivement cherché dans les fichiers si il existait "external" : pas trouvé
    Il ne semble pas exister des fonctions d'appel de DLL

    La fonction create du projet commence comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      InitGigEVisionAPI();
      GetGigEVisionAPI(api);
      if not api.IsUsingKernelDriver() then
      begin
        Label1.Caption :=
          'Warning: Could not load Smartek GigE Vision Filter Driver.';
      end;
    Est-ce une indication ?

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Il faudrait lire le code de InitGigEVisionAPI
    On peut penser que le LoadLibrary est effectué par cette fonction !

    Le GetGigEVisionAPI doit encapsuler les GetProcAddres en remplissant une structure contenant tous les pointeurs de fonctions de l'API !

    Tu maîtrise l'utilisation de DLL j'espère ?

    Il te faut plonger dans la documentation de ce SDK ! On ne pourra pas plus t'aider, ce n'est plus du Delphi, juste de l'utilisation d'outils externes !

    Je fais exactement la même chose pour des Cameras et des DVR mais pour de la Video-Surveillance et non des applications scientifiques, j'ai prévu un système de généricité pour être multi-marque (chaque fournisseur à son propre SDK et même plusieurs selon série ou modèle d'appareil)

    Je me paluche de la Documentation (en anglais souvent, heureusement quand les démos sont en coréen ça n'aide pas )
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Citation Envoyé par colorid Voir le message
    To run it, their runtimes are needed.
    Avec ça, on sait déjà qu'il vendent un produit qu'ils n'ont pas développé et manifestement ne maîtrisent pas

    Citation Envoyé par colorid Voir le message
    Le message en fin de compilation est..
    DLL = problèmes en runtime. Jamais à la compilation.

    Citation Envoyé par colorid Voir le message
    ...mais comme je n'arrive pas à compiler...
    Alors, quelle est l'erreur ?
    Certainement une déclaration manquante. Ctrl+Shift+F te permet de rechercher un terme à travers tous les *.pas du chemin (et sous-répertoires) spécifié

Discussions similaires

  1. comment intégrer des dll dans une application c#
    Par imene_t1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/11/2007, 23h40
  2. chemin des dll
    Par la_saucisse dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 15/10/2007, 15h49
  3. Chemins des #include dans Vc++ 2005 express
    Par keenan dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 13/12/2006, 15h43
  4. lier un .exe à des dll dans un autre emplacement
    Par Husqvarna dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 19/04/2006, 10h53
  5. [JAR][DLL][path] inclure des DLLs dans un jar
    Par blaz dans le forum Général Java
    Réponses: 5
    Dernier message: 28/07/2005, 12h29

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