Thema: Delphi Abstrakter Fehler oO

Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#23

Re: Abstrakter Fehler oO

  Alt 17. Sep 2006, 23:55
Zitat von Luckie:
Delphi-Quellcode:
function GetId(const f: string; const i: integer): string;
var temp: String; sl: TStrings;
begin
  temp := '';
  sl := TStringList.Create;
  try
    sl.LoadFromFile(f);
    temp := Copy(sl[0], i*6, 5);
  finally
    result := temp;
    FreeAndNil(sl);
  end;
end;
So sollte es gehen.
warum steckt man die zuweisung von "result" mit ins finally. bzw. wozu überhaupt "finally" alles was immer ausgefüht werden soll kann man doch auch hinter den try-Block setzen und stattdessen ein try-Except block machen das nur bei einer Exception eine sonderbehandlung statt findet
Delphi-Quellcode:
function GetId(const f: string; const i: integer): string;
var temp: String; sl: TStrings;
begin
  sl := TStringList.Create;
  try
    sl.LoadFromFile(f);
    temp := Copy(sl[0], i*6, 5);
  except
    temp := '';
  end;
  FreeAndNil(sl);
  result := temp;
end;
die variante mit finally kommt ja dieser gleich:
Delphi-Quellcode:
function GetId(const f: string; const i: integer): string;
var temp: String; sl: TStrings;
begin
  temp := '';
  sl := TStringList.Create;
  try
    sl.LoadFromFile(f);
    temp := Copy(sl[0], i*6, 5);
  except
  end;
  result := temp;
  FreeAndNil(sl);
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat