попытался портировать тестовый плагин на C#. переписал, но dll'ку ДМ не видит.
Есть подозрение, что проблема заключается в "IDMInterface = interface(IUnknown)" т.к. я не знаю в C# аналога даннному интерфейсу, посему пришлось данный момент опустить...
архив с исходником могу отослать на e-mail, т.к. тут положить нельзя.
C# для плагинов
Moderators: Korney San, marcipan
-
- Posts: 8
- Joined: 01 Mar 2006, 23:37 Wed
- Contact:
У плагинов, которые DM видит, в экспортах у DLL есть функция RegisterPlugIn, в твоем варианте на C# она там вряд ли появится...
(см dumpbin.exe /exports, поставляется с VS) Потому DM ее и игнорирует
А вообще мне самому тоже очень хотелось бы DM API на VS С++, но научить VS экспортировать классы из библиотек Borland, это довольно-таки сложно...
(см dumpbin.exe /exports, поставляется с VS) Потому DM ее и игнорирует
Code: Select all
H:\Program Files\Microsoft Visual Studio 8\VC\bin>dumpbin.exe /exports "h:\Program Files\Download Master\Plugins\advscheduler.dll"
Section contains the following exports for advscheduler.dll
ordinal hint RVA name
1 0 0008C920 RegisterPlugIn
Я интересовался на net-ном форуме.
Экспортировать функцию в Net в принципе возможно, но для этого надо использовать unmanaged С++, или ручками декомпилировать сборку в IL и править.
А насчет IUnknown, наверное Delphi.Net из Delphi 2006 может помочь, но о unmanaged С при этом надо забыть.
Т.е. писать плагин в Delphi.net, присоединять сборку в VC к С++ и еще с непредсказемыми последствиями.
В общем, гемороя больше, чем потенциально получаемый результат.
Экспортировать функцию в Net в принципе возможно, но для этого надо использовать unmanaged С++, или ручками декомпилировать сборку в IL и править.
А насчет IUnknown, наверное Delphi.Net из Delphi 2006 может помочь, но о unmanaged С при этом надо забыть.
Т.е. писать плагин в Delphi.net, присоединять сборку в VC к С++ и еще с непредсказемыми последствиями.
В общем, гемороя больше, чем потенциально получаемый результат.