ptitmanu
Messages postés23Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention 8 février 2005
-
30 nov. 2004 à 11:18
ptitmanu
Messages postés23Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention 8 février 2005
-
13 déc. 2004 à 19:28
Bonjour,
Je suis débutant en Delphi et je souhaiterais utiliser une DLL programmée en C++. J'utilise une méthode qui retourne un char**, mais je ne sais pas comment interpreter cela en Delphi...
Si vous avez des suggestions je suis preneur.
j'ai essayé d'utiliser un type pointeur sur string (^string ou ^PChar) mais sans succés.
ptitmanu
Messages postés23Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention 8 février 2005 13 déc. 2004 à 19:28
Merci à sovitec et à Mauricio,
J'ai laissé tomber les char** car je n'ai pas reussit à les mettre en oeuvre.
Le type Delphi correspondant aux char* est PChar, donc naturellement (ou presque), le type correspondant aux char** devrait etre ^PChar. Toutefois lors du passage d'un char** par une DLL C++, Delphi ne fait pas le lien entre les objets... Et il m'est impossible d'acceder à mes objets...
Par contre en utilisant une structure contenant un char* et une reference sur un char*, c'est à dire une liste chainée contenant des char*, cela marche sans probleme.
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 30 nov. 2004 à 18:08
Tu dois déclarer ta dll comme cela (enfin je pense) avant de l' utiliser :
{$R *.DFM}
// DLLs:
function NomDeMaFonction(tu peux mettre des paramettres): Char; stdcall; external 'C:\path de ma dll\madll.dll';
ou pour une string:
function NomDeMaFonction(tu peux mettre des paramettres): ShortString; stdcall; external 'C:\path de ma dll\madll.dll';
Alors sinon, je ne sais pas si c' est stdcall que tu dois utiliser mais essaye, si ça marche pas, fait F1 sur le mot que delphi te présente les alternatives ....