![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 17.12.2008
Сообщений: 50
|
![]()
Точно так же как и в случае с несовпадением названия файла с названием процедуры..
|
![]() |
![]() |
![]() |
#12 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
![]()
Вам нужно создать свой интерфейс (API)
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 28.03.2008
Сообщений: 940
|
![]()
У меня есть StringGrid1
Как загрузить в один столбик файлы dll из определенной папки (а иенно "plugins"), а в соседнюю строку с именем файла загрузить текст с файла *.ini что имеет одинаковое имя с *.dll ----------------------------------------- sm.dll | Текст с файла sm.ini ----------------------------------------- kill.dll | Текст с файла kill.ini ----------------------------------------- run.dll | Текст с файла run.ini ----------------------------------------- |
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 17.12.2008
Сообщений: 50
|
![]()
ты имеешь ввиду зугрузить нзвания файлов DLL? И содержимое ini?
|
![]() |
![]() |
![]() |
#15 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Мда.. народ, слов нет как обычно
![]() 1. Создается новый модуль (.pas) в котором описываите один класс - одна .dll - один плагин, к примеру TPlugin, как нистранно, а так же класс TPlugins - на основе TList, ведет он себя по сути как TStringList только работает (Items возращает, удаляет, добовляет, ищет и т.п.) не со String, а с TPlugin. 2. TPlugin - должен иметь FileName (полный путь .dll), методы Load, Unload (для загрузки LoadLibraryW, и выгрузки FreeLibrary), и конечно же набор вспомогательных функций. Например Код:
Собственно и все. В кратце, мини-статься можно сказать. |
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
![]()
По примеру ВОВАНА13, а то про плагины мало (см. внизу страницы) :
Так как в Delphi статическая типизация вы можете сделать общий плагин только над одним множеством функций, например функций от целого, возвращающих целое. Т.е. нет обобщенных процедурных типов... С другой стороны обычной процедуры без параметров хватает за глаза. Код:
|
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
![]() Код:
Последний раз редактировалось BaronTreep; 21.07.2009 в 00:25. |
![]() |
![]() |
![]() |
#18 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
![]()
Потом сочиняем такой плагин:
Код:
Потом можно устроить список - пробегать Find-ом по директории, собирать все dll и добавлять в список те которые инициализировались. Список доступных имен функций, как говорилось, можно брать из в ini файла. Последний раз редактировалось BaronTreep; 20.07.2009 в 15:01. |
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 28.03.2008
Сообщений: 940
|
![]()
Вот суть, вообще, програмы... Програма управляет компьютером по icq протаколу. В ней вводиться Команда и Название функции/процедуры которая вызываеться по этой команде. Пример: "!cd,open" - "cd-open", процедура "cd-open" открывает сидюк, так же в папке Plugins есть файл cd-open.dll с данной функцией... надо что бы прога загружала список доступных функций из dll, всмысле загружала имена dll без расширения ".dll", функции будут иметь названия самих файлов и будет видно какие именно доступны для использования и при запуске подключает все dll из папки Plugins
|
![]() |
![]() |
![]() |
#20 | |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
![]() Цитата:
Код:
Что касается открыть CD-ROM, то это как из пушки по воробьям, зачем плагины? Впрочем можете добавить в плагин такую функцию, и назвать её. Последний раз редактировалось BaronTreep; 21.07.2009 в 00:29. |
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Плагины | dani92 | Общие вопросы Delphi | 3 | 17.04.2009 15:05 |
Как реализовать плагины в Дельфи | Лубышев | Общие вопросы Delphi | 3 | 20.02.2009 15:41 |
Плагины к программе. | Dr.Badnezz | Общие вопросы Delphi | 2 | 20.02.2009 15:40 |
Помогите реализовать | mental | Помощь студентам | 0 | 07.01.2009 01:17 |
Помогите реализовать | ReacXX | Общие вопросы Delphi | 3 | 26.05.2008 08:56 |