procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);
begin
DllThread := TDllThread.Create(false);
PostMessage (DllThread.WndHandle, MY_MESSAGE1, 0, 0);
Started := True;
end;
procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
if DllThread <> nil then
SendMessage (DllThread.WndHandle, MY_MESSAGE2, 0, 0);
Stopped := True;
end;
Однако месаджы не проходят.
Причем после
DllThread := TDllThread.Create(false);
DllThread.WndHandle = 0
естественно месадж не попадает
PostMessage (DllThread.WndHandle, MY_MESSAGE1, 0, 0);
Однако "0" почему пока не ясно
Любая проблема проектирования может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев.