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 :

Equivalent Char* du C++ pour dll


Sujet :

Langage Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 40
    Par défaut Equivalent Char* du C++ pour dll
    Bonjour,

    Je dois utiliser une dll ecrite en C++.
    Une des fonctions me demande en paramètre un char* soit si j'ai bien compris un pointeur sur tableau de caractères se terminant par 0...
    Sauf qu'après je ne sais pas comment déclarer ma fonction dans delphi : Pchar ? String ? et comment passer ma valeur (mon adresse IP)
    function mafonction(mon_ip : .... (char*)):return integer; external.....
    et en suite...
    mon_result := mafonction('125.236.128.63'); //???
    Merci beaucoup pour vos lumières.

  2. #2
    DMO
    DMO est déconnecté
    Membre chevronné
    Avatar de DMO
    Profil pro
    Inscrit en
    Février 2004
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 290
    Par défaut
    Salut,

    Oui il faut utiliser un PChar.

    Je dirais donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function mafonction(monip: PChar): Integer; cdecl;
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_result := mafonction(PChar('125.236.128.63'));

  3. #3
    Expert confirmé

    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 : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Citation Envoyé par DMO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_result := mafonction(PChar('125.236.128.63'));
    Pour les constantes le transtypage est fait automatiquement à la compilation ; tu peux donc écrire plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_result := mafonction('125.236.128.63');
    Bien entendu si le paramètre est une variable de type string alors tu dois transtyper explicitement.
    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.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 40
    Par défaut
    Merci c'est bon.

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

Discussions similaires

  1. Icones pour DLL
    Par lil_jam63 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 14/07/2005, 14h47
  2. Equivalence de SPOOL (Oracle) pour interbase?
    Par Cerberes dans le forum InterBase
    Réponses: 1
    Dernier message: 02/12/2004, 09h15
  3. [novice]parametre pour dll
    Par tixu dans le forum C++
    Réponses: 4
    Dernier message: 12/11/2004, 14h32
  4. Réponses: 3
    Dernier message: 16/09/2003, 13h04
  5. Traitement d'un char* renvoyé par une DLL en C++
    Par LuluTchab dans le forum Langage
    Réponses: 4
    Dernier message: 22/03/2003, 21h48

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