![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не подскажете как из сервиса создать форму, показать ее на экране [D7, WinXP]
h0use © (2003-10-29 15:24:00)
Вот, уважаемые мастера, кусок с котрым я никак не могу совладать:
procedure TBAService.ServiceExecute(Sender: TService);
begin
while not Terminated do
begin
if (RegisterWindowMessage("TaskbarCreated")<>0) and (not flAllreadyShow) and flShowIcon then
begin
Application.CreateForm(TfmSrvMain, fmSrvMain);
fmSrvMain.ShowModal;
ShowMessage("Ta-DA");
flAllreadyShow:=True
end;
Sleep(100);
end;
end;
Что я делаю неверно? ShowMessage появляется только после закрытия формы :(
Digitman (2003-10-29 15:33:00) [21]
> Что я делаю неверно
практически все неверно
вот пример беспроблемного, простого и "правильного" создания формы:
procedure TMySvc.ServiceCreate(Sender: TObject);
begin
MyForm := TMyForm.Create(nil);
end;
procedure TMySvc.ServiceDestroy(Sender: TObject);
begin
MyForm.Free;
end;
Игорь Шевченко (2003-10-29 15:32:00) [22]
А как иначе ? Это же ShowModal, значит на время отображения формы выполнение кода останваливается. Попробуй просто Show