Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#10

Re: SplashScreen - Formular bleibt in der Taskleiste

  Alt 2. Jul 2009, 18:00
Zitat von Bernhard Geyer:
Kann es sein das dadurch das Formular u.U zwei mal frei gegeben wird In der DPR und im FormClose?
Na frmSplash.Close wird ja überhaupt nicht aufgerufen... es wird einfach vir FreeAndNil das Objekt destroyed.

Statt FreeAndNil würde ich Close aufrufen und im Close das frmSplash := nil entfernen.

Was die Schleife davor soll, die Application.Messages aufruft, verstehe ich auch nicht so ganz. Für mich ist das eine Endlosschleife, solange frmSplash nicht noch an dritter Stelle beendet wird.

Ich würde es so schreiben:
Delphi-Quellcode:
begin
  {
  while (frmSplash <> nil) do
    Application.ProcessMessages;
  FreeAndNil(frmSplash);
  }

  frmSplash.Close;

  Application.Run;
end.

procedure TfrmSplash.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  //frmSplash := nil;
end;
  Mit Zitat antworten Zitat