Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Нужен пример загрузки WLX-плагинов на Delphi

 
Post new topic   Reply to topic    Total Commander Forum Index -> Написание плагинов для Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Alextp



Joined: 06 Feb 2005
Posts: 4900

Post (Separately) Posted: Tue Jun 20, 2006 01:09    Post subject: Нужен пример загрузки WLX-плагинов на Delphi Reply with quote

Нужен пример загрузки WLX-плагинов (например, плагина IEView или Imagine) из Delphi-приложения. И корректного освобождения (выгрузки) плагина. Пусть, например, по нажатию кнопки плагин сначала загружается и отображается на форме, а потом по нажатию кнопки корректно выгружается, и форма очищается.

То, что я набросал что называется "на коленке", не работает как надо... Я пока не понял, как привязать плагиновое API к форме или, например, к панели, лежащей на форме...
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Nik



Joined: 01 Jan 2005
Posts: 574
Location: Киров

Post (Separately) Posted: Fri Jun 23, 2006 22:44    Post subject: Reply with quote

Хм... Я тоже пытался что-то такое соорудить, но работает криво Sad Присоединяюсь к очереди Wink
_________________
Качественный хостинг. LibreOffice по-русский.
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4900

Post (Separately) Posted: Sat Jun 24, 2006 19:33    Post subject: Reply with quote

Все, с помощью пользователя с ghisler.ch разобрался.

То, что получилось, здесь:
http://wincmd.ru/plugring/wdx_guide.html

Исходник здесь:
http://atorg.net.ru/files/util_WdxWlxGuide_src.rar
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
SCHMaster



Joined: 15 Dec 2004
Posts: 296
Location: Киев

Post (Separately) Posted: Mon Jun 26, 2006 03:59    Post subject: Reply with quote

Не, пардон. может это типа "пальцы...", но звыняйтэ... Куда еще проще - отследить загрузку библиотеки (плагина) и вызов первоначальной ф-ц-ии, и закрыте окнаа (и выгрузку DLL, ежели нуна). На wincmd.ru есть классный примрер для листеров... Робяты, не поленитесь уделить ентому делу пол-часа... Ну а если уж никиак - мну на мыло (токи с указанием тесы, иначе - "СПАМ")
_________________
Хороший юзер - мертвый юзер
Мои работы
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4900

Post (Separately) Posted: Mon Jun 26, 2006 12:17    Post subject: Reply with quote

2SCHMaster

Не понял. Зачем отслеживать загрузку DLL и закрытие окна?
Все сделалось проще: DLL загружается, вызывается ListLoad, когда надо выгрузить - вызывается ListCloseWindow и dll выгружается. Все. Что тут надо отслеживать?

Пример для листеров - он для другого. Для того, чтобы написать Lister плагин. А мы здесь пишем внешний загрузчик WLX плагинов (утилиту).
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
SCHMaster



Joined: 15 Dec 2004
Posts: 296
Location: Киев

Post (Separately) Posted: Tue Jun 27, 2006 03:23    Post subject: Reply with quote

Quote:
И корректного освобождения (выгрузки) плагина

Вот для чего нужно (если нужно) отслеживать момент выгрузки. Т.к. по ListCloseWindow DLL не выгружается, кстати Smile. А продолжает "висеть" в памяти ТС. Это тоже можно учитесть.
Далее (это насчет проблем привязки плагинного API к форме), ТС перехватывает процедуру окна плагина, и "фильтрует" сообщения, поступающие плагину, отправляя ему далеко не все сообщения. Это тоже учесть нужно. Если проблема в размещении окна плагина на форме, то тут просто - SetWindowPos поможет.
_________________
Хороший юзер - мертвый юзер
Мои работы
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4900

Post (Separately) Posted: Fri Jun 30, 2006 17:41    Post subject: Reply with quote

SCHMaster

Quote:
Вот для чего нужно (если нужно) отслеживать момент выгрузки. Т.к. по ListCloseWindow DLL не выгружается, кстати . А продолжает "висеть" в памяти ТС. Это тоже можно учитесть.

Я знаю. Ну и разве нужно его из-за этого выгружать? Пусть висит.
При завершении программы выгрузится.

Quote:
Далее (это насчет проблем привязки плагинного API к форме), ТС перехватывает процедуру окна плагина, и "фильтрует" сообщения, поступающие плагину, отправляя ему далеко не все сообщения. Это тоже учесть нужно.


А как это учесть? Еще раз: не в плагине, а в моем загрузчике WLX.
Пока загрузчик ничего такого (фильтрации сообщений) не делает.
И все работает.
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Написание плагинов для Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group