Einzelnen Beitrag anzeigen

Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Popup Fenster - stay on top

  Alt 31. Jul 2009, 11:19
Hallo Fisti,

Zitat von Fisti:
Mein aktueller Code:

Delphi-Quellcode:
procedure TMainForm.Button1Click(Sender: TObject);
var
  _myForm: TForm1;
begin
//...
  //Warten bis externe Software beendet wurde
  _WaitResult := WaitForSingleObject(_ProcessInfo.hProcess, INFINITE);
//...
end;

Da beim Starten der externen Software meine MainApp blockiert wird, wird auch mein Hinweis-Form "_myForm" blockiert (man sieht nur weis) und ich sehe nicht was da ausgegeben wird.
Ich würde dir ein Warten mit zusätzlichen Message raten anstatt von WaitForSingleObject

Delphi-Quellcode:
Fertig := FALSE;
repeat
  Erg := MsgWaitForMultipleObjects(1, _ProcessInfo.hProcess, FALSE, INFINITE, QS_ALLINPUT);
  if Erg <> WAIT_OBJECT_0 then
  begin
    // hier kam eine Windowsbotschaft
    Application.ProcessMessages;
    
    // Wurde die Anwendung selber terminiert?
    if Application.Terminated then Fertig := TRUE;

    // Irgendetwas anderes prüfen??
  end else
  begin
    // der Process ist beendet...
    Fertig := TRUE;
  end;
until Fertig;
Das sollte dich einen Schritt weiter bringen.

Gruß, Chris

[EDIT]begin vergessen -> Code ist nicht getestet [/EDIT]
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat