我的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'。 –