hi
ja, ich versuche grade ein goto zu benutzen weil ich bisher keine praktikable andere Lösung gefunden hab
erstmal was code:
Delphi-Quellcode:
label Ende; //SprungMarke
procedure Output(Error: Boolean; Value: String);
begin
if Error then
begin
WriteLn(Value+'Fehler');
GoTo Ende;
end
else WriteLn(Value+'OK');
end;
begin
OutPut(Init,'Init...');
OutPut(FileInit,'FileInit...');
OutPut(Analyse,'Analyse...');
OutPut(FileUnInit,'FileUnInit...');
OutPut(UnInit,'UnInit...');
Ende: ;
end.
ich denke das prinzip sollte klar sein...
alle anderen functions fangen eventuelle fehler ab, und geben diese in form eines booleans zurück...und falls es irgendwo einen fehler gibt hat es keinen sinn weiterzumachen...
eine alternative wäre folgendes:
Delphi-Quellcode:
if Init then
if FileInit then
if Analyse then
.....
daher denke ich das oberes die besser lösung ist...
aber wie kann ich aus Output ans ende springen?
es kommt so die Fehlermeldung
Zitat:
[Fehler] Project1.dpr(16): E2093 Label 'Ende' ist in der aktuellen Prozedur nicht deklariert