Звоните в 64-битную Dephi DLL из C # на 64-битной машине - PullRequest
2 голосов
/ 03 ноября 2011

В моем приложении на c # я пытаюсь вызвать сборку Delphi DLL как 64-битную.Я получаю сообщение об ошибке: «Была предпринята попытка загрузить программу с неверным форматом. (Исключение составляет HRESULT: 0x8007000B». Я работаю на 64-разрядной машине Windows 7, и мой проект C # установлен на Любой ЦП.

Вызов API

[DllImport("Cipher.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.ThisCall)]
public static extern void Encrypt(StringBuilder szPlainText, StringBuilder  zCipherText);

Encrypt(plainString, encText);    

Если DLL-библиотека Delphi была собрана как 32-битная, этот вызов работает нормально. Есть идеи?

1 Ответ

4 голосов
/ 03 ноября 2011

По какой-то причине ваше приложение работает не как 64-битный, а как 32-битный процесс. Если вам нужно сделать что-то подобное, лучше указать «x64» вместо «AnyCPU».

...