Форум: "Система";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];
Внизкак сокрыть кнопку на трее от формы 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c