Thema: Delphi Funktion ohne Result?

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Funktion ohne Result?

  Alt 17. Okt 2004, 12:01
Moin Frederic,

Zitat von fkerber:
Im Prinzip macht der Compiler da ja nen Fehler rein, oder?
eigentlich nicht.

Der Try-Abschnitt wird, bei normalem Programmablauf, immer durchlaufen, und somit Result dort gesetzt.
Es spielt hierbei auch keine Rolle, ob es sich nun um einen Try/Finally oder einen Try/Except Block handelt.

Da Result nur im Fehlerfalle auf false stehen soll, müsstest Du es so machen, wie Himitsu es vorgeschlagen hat.
Ich würde hier allerdings auch noch einen try/finally Block ergänzen, damit auch im Falle eines Fehlers das Inifile-Objekt wieder freigegeben wird.

Delphi-Quellcode:
function DeleteUser(user: String): Boolean;

var
  Identities: TIniFile;

begin
  Result:=True;
  Identities:=TIniFile.Create(ExtractFilePath(paramstr(0))+'\Identities.dat');
  try
    Try
      Identities.EraseSection(user);
    Except
      Result:=False;
    end;
  finally
    Identities.Free;
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat