Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
Внизплагины Найти похожие ветки
← →
bagos (2008-01-24 21:54) [0]Мастера думаю присобачить к проге поддержку плагинов(dll с формами),появился вопрос, плагины загружать при создании формы или загружать только когда надо нужный плагин, я так понимаю если загрузить сразу все то много памяти пожрется ведь каждая dll ~1.5-2.5 мега.
что посоветуете?
← →
@!!ex © (2008-01-24 21:59) [1]загружать при обращении к методами описанным в dll
← →
bagos (2008-01-24 22:03) [2]там сособо то и методов нету, разве что только инициализация. все остальное делается в самом плагине(форме)
← →
Leonid Troyanovsky © (2008-01-24 22:23) [3]
> bagos (24.01.08 21:54)
> что посоветуете?
Плюнь.
--
Regards, LVT.
← →
bagos (2008-01-24 23:12) [4]
> Leonid Troyanovsky ©
Плюнь.
от вас другого совета и не дождешься, смысл писать тогда :)
форум для начинающих)))
← →
{RASkov} © (2008-01-24 23:25) [5]> [4] bagos (24.01.08 23:12)
> форум для начинающих
"начинающие" с плагинов не начинают :)
А если ты решил делать программу с поддержкой плугинов, то ты уже не "начинающий", а имеешь кое-какой опыт разработки приложений...
Тогда зачем называть себя начинающим???
Если по сабжу... дабы не офтопить, то ....не знаю :( я плугинами не занимался(
Впрочем.... включи воображение.... смотря что за плагин.... какова его работа(задача).... посмотри в эту сторону, посмотри в ту..... пораскинь мозгом.... только не обляпой ни кого) и сделай наконец вывод - как же должен грузится конкретный плугин....
← →
bagos (2008-01-24 23:32) [6]{RASkov}, спасибо!
всегда поднимаешь мне тут настроение!!! :)
воображалку уже включил, пока все путем идет :)))))
← →
bagos (2008-01-25 02:44) [7]я запоролся, не знаю как сделать :(
плагины загружаются нормально вроде как все ок!
в dll загружается форма по обработчику события//dll
procedure Tsearch.ShowMe(Sender: TObject);
begin
Show;
end;
собственно хочу сделать чтобы при повторном вызове shomwe была проверка что если форма загружена то ее надо закрыть,а если нет то загрузить. что то типо://dll
procedure Tsearch.ShowMe(Sender: TObject);
begin
if findwindow(nil, "search") <> 0 then
PostMessage(FindWindow(Nil, "search"), WM_close, 0, 0)
else
Show;
end;
в чем дело не пойму :( не работает и все тут...
← →
bagos (2008-01-25 11:00) [8]ночью голова плохо думает, с устра встал сразу мысля пришла :)
if xz then
begin
search.Close;
xz := false;
Exit;
end;
if FindWindow(nil,"search") <> 0 then
begin
xz := true;
search.Show;
end;
← →
Сергей М. © (2008-01-25 11:40) [9]
> агружается форма по обработчику события
Событию какого объекта ?
← →
bagos (2008-01-25 14:36) [10]созрела новая проблема с плагинами:
у меня есть главная форма,в нее загружаются плагины(dll содержащие формы).
плагинов много, и у всех кнопки на панели задач :(
пробовалshowwindow(handle,sw_hide)
не помогло, хайдится и кнопка и сама форма плагина.
уже и не знаю че делать :( подсобите
← →
{RASkov} © (2008-01-25 14:41) [11]> [10] bagos (25.01.08 14:36)
> уже и не знаю че делать :( подсобите
вариант: Стиль окну выставь SetWindowLong и WS_EX_TOOLWINDOW
← →
Сергей М. © (2008-01-25 14:45) [12]
> главная форма,в нее загружаются плагины(dll
Белиберда.
> не знаю че делать :( подсобите
Начни с азов.
см. выше про "белиберду".
← →
bagos (2008-01-25 15:03) [13]тема SetWindowLong и WS_EX_TOOLWINDOW не прокатила для плагина
← →
DiamondShark © (2008-01-25 16:05) [14]
> bagos (25.01.08 14:36) [10]
> созрела новая проблема с плагинами:
Тебе советовали плюнуть. Не послушался.
> у меня есть главная форма,в нее загружаются плагины(dll
> содержащие формы).
> плагинов много, и у всех кнопки на панели задач :(
передавай в плагины Application.Handle из хоста, в плагинных формах в CreateParams используй его как WndParent
Ну и готовься к новому урожаю. Скоро созреет ;)
← →
bagos (2008-01-25 18:00) [15]
> передавай в плагины Application.Handle из хоста, в плагинных
> формах в CreateParams используй его как WndParent
я правильно понял?
в dll добавляем
...
protected
procedure CreateParams(var Params: TCreateParams); override;
...
procedure Tdll1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent := GetDesktopWindow;
end;
теперь осталось передать в dll Application.Handle и я не знаю как :(
← →
bagos (2008-01-25 18:01) [16]WS_EX_TOOLWINDOW вместо WS_EX_APPWINDOW;
← →
bagos (2008-01-25 18:03) [17]сам ступил:
Params.ExStyle := Params.ExStyle or WS_EX_TOOLWINDOW;
решило проблему:)
всем спасибо за ответы!
← →
easy © (2008-01-25 18:11) [18]http://narod.yandex.ru/cgi-bin/yandsearch?user=delphiworld&text=plugin&where=2
← →
MetalFan © (2008-01-25 18:25) [19]неплохо бы и экземпляру Application в dll установить Handle такой же, как и в приложении...
← →
Amoeba © (2008-01-25 21:59) [20]Статьи о плагинах:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=468
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=512
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=274
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.045 c