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

Langage Delphi Discussion :

Conventions à utiliser pour la création d'une DLL


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 23
    Points : 24
    Points
    24
    Par défaut Conventions à utiliser pour la création d'une DLL
    Bonjour,

    J'ai conçu une dll dont voici la déclaration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function GetOcrInfo(   ai_OCR : String;
      ai_Date : String ;
      var ao_FaceValue : integer;
      var ao_Currency : integer;
      var ao_IsValidForBeneficiary : integer;
      var ao_IsValidForAffiliate : integer;
      var ao_VoucherType : Integer) : integer ;stdcall;
    Le paramètre ai_OCR devrait contenir une chaine de caractère.
    Mais losque j'en calcule la longueur, la DLL me retourne une valeur bidon (-17455). J'en conclu donc que la chaine n'est pas passée.

    je pense que la chaine de caratère est passée au format "zero terminated string". Je devrait donc remplacer le type String par array of char.
    Comment, dès lors puis-je calculer la longueur de ma chaine ?

    Merci,
    Incode

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Soit ta DLL et ton appli sont développés par toi, alors tu peux utiliser ShareMem pour résoudre ton problème (et garder le type string). Sinon, pour calculer la longueur d'un PChar, tu peux utiliser Length aussi
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 56
    Points : 63
    Points
    63
    Par défaut
    Si tu veux éviter l'utilisation de Sharemem, tu peut déclarer tous les string en WideString.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 23
    Points : 24
    Points
    24
    Par défaut
    J'ai remplacé le type de mes variables string par Pchar.

    Le problème semble résolu. En tout cas, les premiers signes sont prometteurs.

    Comme à l'accoutumée, voici donc en quatrain toute ma reconnaissance.

    Sur Internet, longtemps j'ai surfé,
    Comme abeille qui n'cesse de voler,
    Avec frénésie et abnégation,
    Jursqu'à trouver une solution,

    Le pollen était sous mon nez,
    Je l'ai trouvé sur développez
    Maintenant, je vais produire le miel,
    Et pour mon patron ... un logiciel.

    Merci et à bientôt.
    Incoder

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

Discussions similaires

  1. Quel langage utiliser pour la création d'une roue d'ascendance ?
    Par apophiis dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 12/12/2014, 11h25
  2. Création d'une DLL pour utilisation dans JNI
    Par Godestiny dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 08/06/2011, 11h36
  3. Création d'une DLL utilisable en Delphi
    Par TheCaribouX dans le forum C
    Réponses: 7
    Dernier message: 12/06/2009, 17h55
  4. Réponses: 3
    Dernier message: 09/11/2007, 14h08
  5. Réponses: 4
    Dernier message: 31/07/2007, 18h02

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