|
Тема
|
Скриване на форма от taskbar?
|
|
Автор |
Eventer (--) |
Публикувано | 22.07.05 13:35 |
|
Hi,
Как да отварям форма от друг DLL, така че да НЕ се показва името й в taskbar?
Благодаря предварително.
Никога не е късно да...
| |
|
В този случай най-добре ще е вместо в DLL-и да слагаш формите в пакети и да си компилираш приложението с runtime packages. Това ще ти реши проблема (а и още няколко неприятни ефекта).
Иначе причината да се показва бутона в taskbar-а е, че приложението ти и dll-а имат два отделни application обекта. Имаше някаква процедура по синхронизацията им (май се присвояваше на Application.Handle на dll-а този на приложението ти, ама дали бе само това?... май също така трябваше да си викаш и Application.OnIdle на dll-а) но не си я спомням много добре. Все пак ще е по-добре да го направиш с пакети.
| |
|
Andrew е абсьолютно прав. Ползвай packages, че главоболията с този Application.Handle са големи! Трябва и DLLExitProc (май така се казваше) да пишеш, че да възстановяваш Application.Handle при unload на DLL-а. Иначе още един съвет: Като компилираш основното приложение включи в Project->Options->Packages опцията "Build with runtime packages", а в Edit-а под CheckBox-a остави само тези runtime BPL-и, които трябва да са общи за Application-a и твоя BPL. Vcl,Rtl поне са задължителни. Успех!
| |
|
... и на двамата
Никога не е късно да...
| |
|
|
|
|