我的C#应用程序我想调用一个Delphi DLL构建为64位。我一直收到一个错误,指出“试图加载程序的格式不正确(来自HRESULT的异常:0x8007000B”)。我在Windows 7 64位计算机上运行,并将我的C#项目设置为任何CPU。在64位机器上调用64位Dephi DLL从C#在64位机器上
API调用
[DllImport("Cipher.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.ThisCall)]
public static extern void Encrypt(StringBuilder szPlainText, StringBuilder zCipherText);
Encrypt(plainString, encText);
如果德尔福DLL被建设成为32位此调用正常工作。任何想法?
'ThisCall'是错误的。德尔福不这样做。使用'stdcall'。 –