J'ai rencontré un problème lors de l'écriture d'un système. Je ne pouvais pas appeler une DLL écrite en Delphi6 en C# car les paramètres de la DLL étaient de type chaîne. Ensuite, j’ai recherché des informations pertinentes en ligne, mais je n’ai toujours trouvé aucun résultat. Après mûre réflexion, j'ai maintenant résolu le problème. J'écris cet article pour partager ma joie avec vous tous !
Fichier DLL Dellphi :
/////////////////////////////////////////////// /// //////////////////
bibliothèque mydll ;
utilise
utilitaires système,
cours;
{$r *.res}
fonction out_char(str1:pchar;str2:pchar):pchar;stdcall;
var
temp:pchar;
commencer
getmem(temp,longueur(str1)+longueur(str2)+1);
strcopie(temp,str1);
strcat(temp,str2);
résultat := temp;
fin;
exportations
out_char;
commencer
fin.
/////////////////////////////////////////////// /// /////////////
Méthode d'appel en c# :
[dllimport (mydll.dll)] chaîne externe statique publique out_char (chaîne str1, chaîne str2);
Ensuite, la DLL est implémentée pour transmettre des données de type chaîne.
Haha~~~~~~~