我使用VS2013创建了一个DLL文件,方法是File/New Project/Class Library。然后我试图在Delphi中动态加载它。但是Delphi为过程GetProcAddress
返回了NIL
。
我的C#和Delphi代码看起来像我下面发布的。在代码中,GetProcAddress
返回NIL
。请告诉我是否漏掉了什么。
C#代码
using System;
namespace TestDLL
{
public class Class1
{
public static string EchoString(string eString)
{
return eString;
}
}
}
Delphi 代码
Type
TEchoString = function (eString:string) : integer;stdcall;
function TForm1.EchoString(eString:string):integer;
begin
dllHandle := LoadLibrary('TestDLL.dll') ;
if dllHandle <> 0 then
begin
@EchoString := GetProcAddress(dllHandle, 'EchoString') ;
if Assigned (EchoString) then
EchoString(eString) //call the function
else
result := 0;
FreeLibrary(dllHandle) ;
end
else
begin
ShowMessage('dll not found ') ;
end;
end;