Moin Zusammen,
bzw. das Ganze nicht als Prozedure, sondern Funktion:
Delphi-Quellcode:
function TEinstellungsForm.Initialize : boolean;
begin
Result := // Ergebnis der Initialisierung
end;
procedure TIrgendeineAndereForm.WasAuchImmer;
begin
FEinstellungForm := EinstellungForm.Initialize;
if FEinstellungForm then begin
FEinstellungForm.Show;
end else begin
// Auf den Fehler reagieren
end;
end;
Wobei FEinstellungForm ein Feld in der Klasse TIrgendeineAndereForm ist.
Dann hättest Du auch an anderen Stellen direkt zugriff darauf, ob das aufzurufende Formular im gewünschten Zusammenhang da ist.
Wenn Du statt eines boolschen Wertes, z.B., einen integer als Rückgabewert nimmst, könntest Du Dir auch einen Fehlercode zurückgeben und entscheiden warum die Initialsierung fehlgeschlagen ist, um das Problem anschliessend besser beheben zu können.