Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Kann Datei nicht öffnen

  Alt 15. Mär 2011, 00:45
Das einzig ungewöhnliche, was mir auffällt ist das tmpStr := nil; . Warum setzt du den lokalen String auf nil?

Ist in einer Textdatei eventuell ein Fehler drin? Was macht Split? Eventuell kracht es da. Tut mir Leid ich kann auch nur raten im Moment.
Ich kann ihn auch einfach auf SetLength(tmpStr, 0) setzen.
Aber der Fehler tritt bei Free auf.
Dateien werden alle ordnungsgemäß addiert mit der Spilt funktion.


Delphi-Quellcode:
function Split(const Source, Delimiter: string): TSplitStrArray;
var
  spCount: integer;
  spPos: integer;
  spLength: integer;
  sTemp: string;
  aSplit: TSplitStrArray;

begin
  sTemp := Source;
  spCount := 0;
  spLength := Length(Delimiter) - 1;
  repeat
    spPos := Pos(Delimiter, sTemp);
    if spPos = 0 then
      break
    else
    begin
      Inc(spCount);
      SetLength(aSplit, spCount);
      aSplit[spCount - 1] := Copy(sTemp, 1, spPos - 1);
      Delete(sTemp, 1, spPos + spLength);
    end;

  until False;
  if Length(sTemp) > 0 then
  begin
    Inc(spCount);
    SetLength(aSplit, spCount);
    aSplit[spCount - 1] := sTemp;
  end;

  Result := aSplit;

end;

gruss
  Mit Zitat antworten Zitat