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;