cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
29 juil. 2005 à 17:25
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
12 août 2005 à 11:31
Je débute en Delphi en même temps que je continu le VB (Que je vais arrêter dès que je serais suffisement rapide en Delphi).
Je vais sûrement être obligé d'apprendre le C en école d'ingé...
J'aimerais bien que les dll que je compile en Delphi soient réutilisables en C.
Les dlls de l'API semblent utilisables depuis n'importe quel langage.
J'ai déjà utilisé mes dlls en Delphi depuis VB.
J'ai néanmoins eu des problèmes avec des fonctions renvoyant des string. (Je les airemplacées par des PChar).
Quelle sont les contraintes sur les syntaxes d'appel faut il que je me fixe pour que mes dlls soient aussi utilisables que celles de l'API ?
Faut il que mes fonctions ne renvoient que des long ?
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 1 août 2005 à 12:52
Il faut déclarer les procedures et fonctions que tu utilises en stdcall (Convention WIN32)
Pour l'utilisation des strings en paramètre ou en tant que résultat de fonction, il faut impérativement déclarer "ShareMem" en tant que première unité dans les clauses USES. De plus il faudra fournir la DLL "DELPHIMM.DLL" avec ton application.
Sinon, tu as déjà opté pour une solution, utiliser des PChar (voir des ShortString)
Cordialement.
<HR>
Il existe 10 catégories de personne. Ceux qui connaissent le binaire et les autres...
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 2 août 2005 à 22:15
Sharemem c'est à mettre dans la déclaration de la DLL que tu crées, pas dans ton codeVB.
De plus, les PChar ne sont pas compliqué du tout à utiliser, il faut juste allouer la taille de ceux ci avant de s'en servir. Si tu veux utiliser un PChar afin de stocker un chemin de de 255 caractères maximum par exemple il faut créer un PChar pointant sur une zone de taille 255+1 (Pour le 0 final); bref rien de bien sorcier.
Cordialement.
<HR>
Il existe 10 catégories de personne. Ceux qui connaissent le binaire et les autres...