Всем привет! Делаю плагин для AIMP2 на Delphi. На Delphi плагин получаеццо больше 300к. Если вставлю окно конфигурации, то все 600к. Хочу переделать плагин на ассемблере (FASM). Разница в размере DLL-ек - 100 раз (!) Но проблема в следующем: AIMP предоставляет доступ к своим функциям через контроллер IAIMP2Controller (ссылка на него передается в плагин при инициализации плагина) IAIMP2Controller объявлен как интерфейс: Код (Text): IAIMP2Controller = interface function IsUnicodeVersion: Boolean; stdcall; // Must be True function AIMP_CallBack_Set(dwCBType: DWORD; Proc: Pointer; User: DWORD): Boolean; stdcall; ... ... ... end; Вопрос - имея ссылку на интерфейс, как вызвать нужный метод из ассемблера ? Заранее спасибо. ЗЫ запостил этот вопрос и на делфийский форум http://forum.vingrad.ru/forum/topic-292833.html
Интерфейс объявляется так Код (Text): interface IAIMP2Controller,\ <имя метода 1>,\ <имя метода 2>,\ ... <имя метода n> Метод вызывается так Код (Text): cominvk <указатель на IAIMP2Controller>,<имя метода>,<параметры>
gershkovich Просто надо знать кодовое слово : COM-интерфейс. Просто тут не обычные функции вызываемые через call, а хитрая кухня которую я знаю только в теории, например