Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.19;
Скачать: CL | DM;

Вниз

как сокрыть кнопку на трее от формы Dll?   Найти похожие ветки 

 
denis555   (2003-03-19 17:21) [0]

приходится делать Dll-ки со своими формами, так вот такой вопрос все подключаемые dll-и с формами создают в трее (это там где Пуск - для продвинутых) свою кнопку, чего совсем не хотелось бы......


 
ki11er   (2003-03-19 17:52) [1]


> в трее (это там где Пуск - для продвинутых)

Да... Продвинутее некуда ;-)
Вообще-то это Task Bar называется...


 
Clickmaker ©   (2003-03-19 17:56) [2]

это там где Пуск - для продвинутых

Трей - это не там, где Пуск, а там, где часы (это для еще более продвинутых)

А насчет собственно вопроса, то если делаешь какие то формы в DLL, то и екзешник и DLL должны быть собраны с одним набором Run-time packages, и при инициализации DLL надо ей подсовывать Application и Screen из екзешника, а при выгрузке - восстанавливать ее родные значения.


 
Сергєєв Володимир ©   (2003-03-20 08:16) [3]

2 Clickmaker ©
Ты хоть бы разжевывал человеку, че ему надо сделать.

denis555
Проблема состоит в том, что у тебя объект Application модуля Forms длл-ки изолирован от объекта Application ехе-шника и поэтому создается новая кнопка на панели задач. Чтобы этого не происходило - надо передать указатель на хендл Application основного ехе-шника в библиотеку.

Пусть у тебя есть длл содающая TForm1 со следующим исходником:

library my_dll;
uses
SysUtils,
Windows,
Forms,
Unit1; {TForm1}

function CreateForm(
HANDLE :THandle):boolean;
var
F:TForm1;
begin
Result := FALSE;
Application.Handle := HANDLE;
try
F := TForm1.Create(Application);
F.ShowModal;
finally
F.Free;
Result := TRUE;
end;
end;

EXPORTS CreateForm;
END;


В основном ехе-шнике вызываешь

function CreateForm(HANDLE :THandle):boolean; external "my_dll.dll";

....................

procedure TFrom2.Button1Click(Sender :TObject);
begin
CreateForm(Application.Handle);
end;


 
denis555   (2003-03-21 17:20) [4]

спасибо за разьяснения насчет трея...........
и СПАСИБО за код :), яботает, кстати полезно хандлер Application передать еще и для ProcessMessage а то уж больно все подвисает.........



Страницы: 1 вся ветка

Текущий архив: 2003.05.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
9-59532
Евгений Анатольевич
2002-12-11 11:24
2003.05.19
Алгоритм движения автомобиля


14-59949
fighter@str
2003-04-30 19:01
2003.05.19
Реестр


14-59875
UzesCCron
2003-04-28 22:51
2003.05.19
Редактор с Хайлайтином


14-59898
JibSkeart
2003-04-27 12:56
2003.05.19
Круто У нас Метель была я в шоке :о)


3-59601
Alpine
2003-04-24 13:58
2003.05.19
Посоветуйте компоненты для доступа к базе MS SQL.