При написании системы я столкнулся с проблемой: я не мог вызвать DLL, написанную на Delphi6, на C#, поскольку параметры DLL имели строковый тип. Затем я поискал соответствующую информацию в Интернете, но так и не нашел результатов. После долгих раздумий я решил эту проблему и пишу эту статью, чтобы поделиться со всеми вами своей радостью!
dll-файл Dellphi:
/////////////////////////////////////////////////// /// ///////////////////
библиотека mydll;
использует
сисутилс,
занятия;
{$r *.res}
функция out_char(str1:pchar;str2:pchar):pchar;stdcall;
вар
температура: pchar;
начинать
getmem(temp,length(str1)+length(str2)+1);
стркопия (темп, стр1);
стркат (темп, стр2);
результат: = температура;
конец;
экспорт
out_char;
начинать
конец.
/////////////////////////////////////////////////// /// /////////////
Метод вызова в С#:
[dllimport(mydll.dll)] public static extern string out_char(string str1,string str2);
Затем реализуется dll для передачи данных строкового типа.
Хаха~~~~~~~