Page 1 of 1

C# для плагинов

Posted: 02 Mar 2006, 2:34 Thu
by Dark_SavanT
попытался портировать тестовый плагин на C#. переписал, но dll'ку ДМ не видит.

Есть подозрение, что проблема заключается в "IDMInterface = interface(IUnknown)" т.к. я не знаю в C# аналога даннному интерфейсу, посему пришлось данный момент опустить...

архив с исходником могу отослать на e-mail, т.к. тут положить нельзя.

Posted: 02 Apr 2006, 7:54 Sun
by AntStas
У плагинов, которые DM видит, в экспортах у DLL есть функция RegisterPlugIn, в твоем варианте на C# она там вряд ли появится...
(см 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
А вообще мне самому тоже очень хотелось бы DM API на VS С++, но научить VS экспортировать классы из библиотек Borland, это довольно-таки сложно...

Posted: 03 Apr 2006, 11:17 Mon
by mymigor
Я интересовался на net-ном форуме.

Экспортировать функцию в Net в принципе возможно, но для этого надо использовать unmanaged С++, или ручками декомпилировать сборку в IL и править.

А насчет IUnknown, наверное Delphi.Net из Delphi 2006 может помочь, но о unmanaged С при этом надо забыть.

Т.е. писать плагин в Delphi.net, присоединять сборку в VC к С++ и еще с непредсказемыми последствиями.

В общем, гемороя больше, чем потенциально получаемый результат.