Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Abstrakter Fehler oO (https://www.delphipraxis.net/77326-abstrakter-fehler-oo.html)

mkinzler 17. Sep 2006 23:44

Re: Abstrakter Fehler oO
 
Das Initialisieren von Result ist nicht nötig. Ich würde das
Delphi-Quellcode:
result := '';
besser ins finally verschieben.

Luckie 17. Sep 2006 23:45

Re: Abstrakter Fehler oO
 
Zitat:

Zitat von mkinzler
Das Initialisieren von Result ist nicht nötig. Ich würde das
Delphi-Quellcode:
result := '';
besser ins finally verschieben.

Dann kann ich mir den restlichen Code aber sparen, da der finally-Block immer ausgeführt wird. Result wäre somit immer der Leerstring. Und da sist wohl nicht Sinn und Zweck der Funktion. ;)

mkinzler 17. Sep 2006 23:46

Re: Abstrakter Fehler oO
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von mkinzler
Das Initialisieren von Result ist nicht nötig. Ich würde das
Delphi-Quellcode:
result := '';
besser ins finally verschieben.

Dann kann ich mir den restlichen Code aber sparen, da der finally-Block immer ausgeführt wird. Result wäre somit immer der Leerstring. Und da sist wohl nicht Sinn und Zweck der Funktion. ;)

Stimmt :oops: Es ist spät ...

Martin K 17. Sep 2006 23:47

Re: Abstrakter Fehler oO
 
Ihr meint wohl sowas:
Delphi-Quellcode:
function GetId(const f: string; const i: integer): string;
var temp: String; sl: TStrings;
begin
  temp := '';
  try
    sl := TStringList.Create;
    try
      sl.LoadFromFile(f);
      temp := Copy(sl[0], i*6, 5);
    finally
      FreeAndNil(sl);
    end;
  finally
    result := temp;
  end;
end;

GuenterS 17. Sep 2006 23:49

Re: Abstrakter Fehler oO
 
[edit]Ja, müßte es treffen[/edit]

[edit2]das ist mir auch eingefallen, aber konnte meinen Beitrag nicht komplett entfernen :oops: [/edit2]

Martin K 17. Sep 2006 23:50

Re: Abstrakter Fehler oO
 
[edit]Herrje, diese ganzen Edits...[/edit]

SirThornberry 17. Sep 2006 23:51

Re: Abstrakter Fehler oO
 
das man "result" erst am ende bzw. vor verlassen der Funktion zuweist kommt wohl von anderen Programmiersprachen wie C, C++, PHP etc. wo durch das zuweisen des Rückgabewertes die Funktion gleichzeitig verlassen wird.

mkinzler 17. Sep 2006 23:51

Re: Abstrakter Fehler oO
 
Zitat:

Und wenn das Erzeugen der StringList fehlschlägt?
Dann wird ein Leerstring zurückgeliefert.

Matze 17. Sep 2006 23:51

Re: Abstrakter Fehler oO
 
Zitat:

Zitat von Martin K
Und wenn das Erzeugen der StringList fehlschlägt?

Wann soll das fehlschlagen? Dann müsstest du ja vor jeder Zuweisung ein "try" setzen. ;)

Luckie 17. Sep 2006 23:52

Re: Abstrakter Fehler oO
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz