Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как убрать отображение на панеле задач формы открытой из Dll ? [D6, XP]


Mishenka ©   (2009-01-20 09:14:00) 

При отькрытии формы из Dll она отображается на панеле задач как отдельное приложение. Как сделать чтоб этого не было?


Skyle   (2009-01-21 06:54:00) [1]


> Юрий Зотов ©   (20.01.09 15:45) [5]
> > Skyle ©   (20.01.09 09:22) [1]
> Заменить hInstance не получится. Это дескриптор МОДУЛЯ.

Пардон, оговорился.


Leonid Troyanovsky   (2009-01-20 18:05:00) [2]


> Правильный$Вася   (20.01.09 16:57) [8]

> про остальное автор не спрашивал

Он и про Application не озадачивался ;)

--
Regards, LVT.


Правильный$Вася   (2009-01-20 16:57:00) [3]


> Leonid Troyanovsky ©   (20.01.09 16:34) [7]

про остальное автор не спрашивал
с внешним TSQLConnection тоже можно по-разному работать, можно просто свойства считать


Leonid Troyanovsky   (2009-01-20 16:34:00) [4]


> Правильный$Вася   (20.01.09 15:36) [4]

А как же Screen, PopMenues & etc?
И на счет TSQLConnection надо еще разобраться c ProcessData.
Кста, трогательно выглядит и stdcall.

--
Regards, LVT.


Юрий Зотов   (2009-01-20 15:47:00) [5]

> Mishenka

Можно добавить форме стиль WS_EX_TOOLWINDOW (см. CreateParams).


Юрий Зотов   (2009-01-20 15:45:00) [6]

> Skyle ©   (20.01.09 09:22) [1]
Заменить hInstance не получится. Это дескриптор МОДУЛЯ.

> Правильный$Вася   (20.01.09 15:36) [4]
Еще try-finally - и совсем хорошо будет. Мало ли, какое исключение может возникнуть при обработке , а ведь хэндл надо восстановить ОБЯЗАТЕЛЬНО.

hOldHandle := Application.Handle;
Application.Handle := App;
try
 ... // Обработка
finally
 Application.Handle := hOldHandle;
end;


Правильный$Вася   (2009-01-20 15:36:00) [7]

function doC32( App: HWND; db: TSQLConnection ): CARDINAL; stdcall;
var
 hOldHandle: HWND;
begin
 hOldHandle := Application.Handle;
 Application.Handle := App;
 result := ProcessData( db );
 Application.Handle := hOldHandle;
end;


KSergey   (2009-01-20 14:58:00) [8]

не пихайте формы в dll
а то кнопка на таск-баре - это самое простое обо что удариться придется


Mishenka   (2009-01-20 14:12:00) [9]

А можно поподробнее?


Skyle   (2009-01-20 09:22:00) [10]

Передать из хост-приложения его hInstance и заменить hInstance DLL на переданый. Потом заменить обратно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо