Hallo zusammen,
danke erstmal für die zahlreichen Antworten...
Nun, zum besseren Verständnis der Situation:
Ich will direkt im Create-Konstruktor des Formulars Daten in selbiges laden. Da dies aber scheitern kann, soll bei einem Fehler die Erstellung der Form abgebrochen werden. Die Funktion zum Laden der Daten verursacht bei Fehlern (normalerweise) keine
Exception, sondern gibt den Erfolg über Result zurück.
Die beste Lösung meines Problems ist wohl die Kombination von "
Exception" und ASuccess.
Delphi-Quellcode:
constructor TMyForm.Create(AOwner: TComponent; AMyP: Integer; var ASuccess: Boolean);
begin
ASuccess := False;
[...]
if not MyFunc(AMyP) then
Abort(); // Aha...
[...]
ASuccess := True;
end;
[...]
try
TMyForm.Create(Self, 123, Success);
except
if not ASuccess then
// Funktion gescheitert
end;
[...]
Tjaja, diese Abort-Prozedur hat mir gefehlt...
Richtig Sinn macht ASuccess zugegebenermaßen eigentlich erst, wenn es über eine Enumeration Aufschluss über den Erfolg bzw. Nichterfolg der Formularerstellung gibt, was sich aber problemlos erweitern lässt.
Viele Grüße,
Marco