Halt Sorry - Natürlich gibt's ne Form.
Wie sollte die Routine sonst meckern können, wenn die Werte nicht stimmen...
Delphi-Quellcode:
// Der Thread:
procedure TKeyinside.Execute;
begin
Synchronize(Showform); // Thread Code abarbeiten
end;
procedure TKeyinside.Showform;
{ Nur hier darf das MultiThreading 'Form.create' hinein }
begin
if LaeuftSchon <> 'besetzt' then begin
if not Assigned(Form_CheckIt) then begin
Form_CheckIt:= TForm_CheckIt.Create(Form_CheckIt);
with Form_CheckItdo begin
// ...
end;
if Form_CheckIt.Rueckgabewert <> DemWasErSeinSollte then
Form_CheckIt.ShowModal;
Form_CheckIt.Destroy;
Form_CheckIt:= nil;
LaeuftSchon := '';
end;
end;
end;
Wobei ich eine modale Form benötige, sofern der Rückgabewert falsch ist. 'TopMostWindows', 'HWND_TOPMOST' geht in diesem Falle nicht! Die aktuelle Bearbeitung muss unzterbrochen werden, bis alles wieder im Lot ist...
Gruss
Wenn die Programme das machen, wie's wir machen, wären sie unbrauchbar...