Saya mengalami masalah saat menulis sistem. Saya tidak dapat memanggil DLL yang ditulis dalam Delphi6 di C# karena parameter DLL bertipe string. Kemudian saya mencari informasi yang relevan secara online, tetapi tetap tidak menemukan hasil. Setelah berpikir panjang, kini saya telah menyelesaikannya. Saya menulis artikel ini untuk berbagi kegembiraan dengan Anda semua!
file Dellphi dll:
//////////////////////////////////////////////////// /// //////////////////
perpustakaan saya;
kegunaan
sysutils,
kelas;
{$r *.res}
fungsi out_char(str1:pchar;str2:pchar):pchar;stdcall;
var
suhu:pchar;
mulai
getmem(temp,panjang(str1)+panjang(str2)+1);
strcopy(temp,str1);
strcat(temp,str2);
hasil := suhu;
akhir;
ekspor
keluar_char;
mulai
akhir.
//////////////////////////////////////////////////// /// //////////////
Metode panggilan di c#:
[dllimport(mydll.dll)] string eksternal statis publik out_char(string str1,string str2);
Kemudian dll diimplementasikan untuk meneruskan data tipe string.
Haha~~~~~~~~