View previous topic :: View next topic |
Author |
Message |
Alextp
Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Tue Jun 20, 2006 01:09 Post subject: Нужен пример загрузки WLX-плагинов на Delphi |
|
|
Нужен пример загрузки WLX-плагинов (например, плагина IEView или Imagine) из Delphi-приложения. И корректного освобождения (выгрузки) плагина. Пусть, например, по нажатию кнопки плагин сначала загружается и отображается на форме, а потом по нажатию кнопки корректно выгружается, и форма очищается.
То, что я набросал что называется "на коленке", не работает как надо... Я пока не понял, как привязать плагиновое API к форме или, например, к панели, лежащей на форме... _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
|
Nik
Joined: 01 Jan 2005 Posts: 583 Location: Киров
|
(Separately) Posted: Fri Jun 23, 2006 22:44 Post subject: |
|
|
Хм... Я тоже пытался что-то такое соорудить, но работает криво Присоединяюсь к очереди _________________ Качественный хостинг. |
|
Back to top |
|
|
Alextp
Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
|
SCHMaster
Joined: 15 Dec 2004 Posts: 296 Location: Киев
|
(Separately) Posted: Mon Jun 26, 2006 03:59 Post subject: |
|
|
Не, пардон. может это типа "пальцы...", но звыняйтэ... Куда еще проще - отследить загрузку библиотеки (плагина) и вызов первоначальной ф-ц-ии, и закрыте окнаа (и выгрузку DLL, ежели нуна). На wincmd.ru есть классный примрер для листеров... Робяты, не поленитесь уделить ентому делу пол-часа... Ну а если уж никиак - мну на мыло (токи с указанием тесы, иначе - "СПАМ") _________________ Хороший юзер - мертвый юзер
Мои работы |
|
Back to top |
|
|
Alextp
Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Mon Jun 26, 2006 12:17 Post subject: |
|
|
2SCHMaster
Не понял. Зачем отслеживать загрузку DLL и закрытие окна?
Все сделалось проще: DLL загружается, вызывается ListLoad, когда надо выгрузить - вызывается ListCloseWindow и dll выгружается. Все. Что тут надо отслеживать?
Пример для листеров - он для другого. Для того, чтобы написать Lister плагин. А мы здесь пишем внешний загрузчик WLX плагинов (утилиту). _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
|
SCHMaster
Joined: 15 Dec 2004 Posts: 296 Location: Киев
|
(Separately) Posted: Tue Jun 27, 2006 03:23 Post subject: |
|
|
Quote: | И корректного освобождения (выгрузки) плагина |
Вот для чего нужно (если нужно) отслеживать момент выгрузки. Т.к. по ListCloseWindow DLL не выгружается, кстати . А продолжает "висеть" в памяти ТС. Это тоже можно учитесть.
Далее (это насчет проблем привязки плагинного API к форме), ТС перехватывает процедуру окна плагина, и "фильтрует" сообщения, поступающие плагину, отправляя ему далеко не все сообщения. Это тоже учесть нужно. Если проблема в размещении окна плагина на форме, то тут просто - SetWindowPos поможет. _________________ Хороший юзер - мертвый юзер
Мои работы |
|
Back to top |
|
|
Alextp
Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Fri Jun 30, 2006 17:41 Post subject: |
|
|
SCHMaster
Quote: | Вот для чего нужно (если нужно) отслеживать момент выгрузки. Т.к. по ListCloseWindow DLL не выгружается, кстати . А продолжает "висеть" в памяти ТС. Это тоже можно учитесть. |
Я знаю. Ну и разве нужно его из-за этого выгружать? Пусть висит.
При завершении программы выгрузится.
Quote: | Далее (это насчет проблем привязки плагинного API к форме), ТС перехватывает процедуру окна плагина, и "фильтрует" сообщения, поступающие плагину, отправляя ему далеко не все сообщения. Это тоже учесть нужно. |
А как это учесть? Еще раз: не в плагине, а в моем загрузчике WLX.
Пока загрузчик ничего такого (фильтрации сообщений) не делает.
И все работает. _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
|
|