#c_sharp #delphi #net
Совместимы ли методы из библиотеки, написанной на Delphi с P/Invoke? И если нет - есть ли какая либо возможность сделать их совместимыми? Есть доступ к исходникам .dll.
Ответы
Ответ 1
Для начала - стоит посмотреть в исходниках, с каким соглашением о вызовах функции из библиотеки экспортируются. Если там stdcall или cdecl - то такая функция без проблем может быть вызвана через P/Invoke. Если же там соглашение не указано - то так просто не получится. В таком случае, если исходники библиотеки менять нельзя - самым простым решением будет прослойка из еще одной библиотеки на Delphi: procedure Foo(...); external 'MyLib.dll'; // ... procedure Foo_Std(...); stdcall; begin Foo(...); end; // ... exports Foo_Std name 'Foo';
Комментариев нет:
Отправить комментарий