Thema: Delphi Exit ?!

Einzelnen Beitrag anzeigen

Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#8

Re: Exit ?!

  Alt 2. Mär 2007, 10:31
edit 1: Ups, mehrfach verlesen

edit 27:
Es kommen wohl zweierlei Dinge zusammen:
Mit Exit verlaesst Du die aktuelle Routine. Das wuerde aber sowieso passieren, da exit der letzte Befehl dieser Routine ist.
Ausserdem wird der Befehl unabhaengig davon ausgefuehrt, was die if-Abfrage liefert, da es nicht in einem Block zusammengefasst ist.

Eine Loesungsmoeglichkeit waere auch folgende (fuer Konsolenanwendung):
Delphi-Quellcode:
//...

function SearchingFiles(Filename:String) : boolean; // function statt procedure
begin
  result := SearchForFile(GetSysDir+'\', Filename, APathFound);
  if result then
    WriteLn(myFile,':: Available: '+GetSysDir+'\'+Filename) else
    WriteLn(myFile,':: Missing: '+GetSysDir+'\'+Filename);
end;


begin
  //Programmstart
  //...
  IF NOT SearchForFile THEN Exit; // in diesem Fall wird die "aeusserste" Routine , naemlich das Programm selbst, abgebrochen
  // weiterer Programmcode
end.
Andere Möglichkeit:
Delphi-Quellcode:
//...

procedure SearchingFiles(Filename:String);
begin
  result := SearchForFile(GetSysDir+'\', Filename, APathFound);
  if result then
    WriteLn(myFile,':: Available: '+GetSysDir+'\'+Filename) else
  begin //else-Teil zusammenfassen
    WriteLn(myFile,':: Missing: '+GetSysDir+'\'+Filename);
    Halt; // Programm beenden
  end;
end;
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat