C#调用Delphi DLL时,要注意的几个问题。

c# 调用Delphi的dll时,

1.如果dll中的函数参数含有var,则c#中要加上ref(引用);
否则,会有提示错误:“尝试读取或写入受保护的内容。这通常指示其他内存已损坏”。

2.如果dll中的参数是THandle类型,在c#中用IntPtr代替。

3.如果dll中的参数是PChar类型,在c#中应该用byte[]代替。

使用网上说的用ref string或StringBuilder代替PChar都有问题

原文地址:https://www.cnblogs.com/googlegis/p/2978859.html