Encontrei um problema ao escrever um sistema. Não consegui chamar uma DLL escrita em Delphi6 em C# porque os parâmetros da DLL eram do tipo string. Então procurei informações relevantes online, mas ainda não encontrei resultados. Depois de muito pensar, resolvi. Estou escrevendo este artigo para compartilhar minha alegria com todos vocês!
arquivo dellphi dll:
/////////////////////////////////////////////// /// /////////////////
biblioteca mydll;
usa
sysutils,
aulas;
{$r *.res}
função out_char(str1:pchar;str2:pchar):pchar;stdcall;
var
temp:pchar;
começar
getmem(temp,comprimento(str1)+comprimento(str2)+1);
strcopy(temp,str1);
strcat(temperatura,str2);
resultado := temperatura;
fim;
exportações
out_char;
começar
fim.
/////////////////////////////////////////////// /// /////////////
Método de chamada em c#:
[dllimport(mydll.dll)] string externa estática pública out_char(string str1,string str2);
Em seguida, a dll é implementada para passar dados do tipo string.
Haha~~~~~~~