|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
||||
|
||||
А как организовать запросы от плагина к плееру и от плеера к плагину, то есть чтобы плагин мог...ммм...узнать какую-то информацию у плеера(альбом, номер текущего трека, опцию), а плеер-у плагина?
Можно ли сделать так? : Код:
IPPlugin = interface ['{711AAA26-3C63-43D5-B200-4BAAC18A5CD1}'] function GetPluginInfo: pPluginInfo; stdcall; //procedure OnPlayerMessage(var PlugMsg: TPPluginMessage); stdcall; //заменить на function OnPlayerMessage(var PlugMsg: TPPluginMessage) : integer; stdcall; end; |
#17
|
||||
|
||||
посыпаю голову пеплом.
(вместе с ошибками отладчика из далеких уголков выползают былые знания - как давно не занимался интерфейсами и dll) Короче. Передавать и получать через интерфейсы можно практически все (хоть кнопки и меню) НЮАНСЫ stdcall - если предполагается широкое распространение плагина (с возможностью писать на Си++) - не убирай его из обьявлений методов. Но почитай про него и безопасные типы данных для передачи меж функциями Си (Win стандарт) string дает ошибку используй PChar, - продумай интерфейсы с возможностью расширения, - можно к интерфейсу описать класс основу с виртуальными методами, которые будут перекрывать писатели плагинов (а то и компонент можно смастерить), - а так можешь любые методы в интерфейсах и классах писать, - если в dll будет динамически выделятся память - прочитай у борланда (прикрепляется ихня библиотека) ... немного наростил скилет если че стучи в асю Последний раз редактировалось s0Creator, 07.03.2008 в 20:18. |
#18
|
||||
|
||||
По поводу PWideChar
у меня работает смотри файл |
#19
|
||||
|
||||
У меня уже заработало, спасибо
|
#20
|
|||
|
|||
Немного с опозданием.
Можно ли с помощью такой системы плагином создать TPanel на главной форме программы? |
#21
|
||||
|
||||
Можно (немного с опозданием )
|
#22
|
|||
|
|||
Подскажите пожалуйста. Я начинающий. Разбирался по данным примерам, но появились вопросы.
Как при создании плагинов избежать ошибки об одинаковых компонентах? Например, два человека сделали плагины и так случилось что наименование формы AboutBox и у того и у другого. |