Einzelnen Beitrag anzeigen

Benutzerbild von BillieJoe90
BillieJoe90

Registriert seit: 29. Sep 2006
Ort: Bovenden
122 Beiträge
 
#1

"Ungültige Zeigeroperation"

  Alt 7. Feb 2007, 23:03
Hallo,
ich bekomme die Fehlermeldung "Ungültige Zeigeroperation" beim Aufruf der folgenden Funktion:

Delphi-Quellcode:
function TSort.sortStrings(strings:TStrArray;order:String):TStrArray;
var i, i2, i3: Integer;
var sortedArray:TStrArray;
var tempArray:TTwoDimIntArray;
var c, merke:String;
begin

  for i:=0 to length(strings)-1 do begin

    setLength(tempArray, length(tempArray)+1);

    i3 := 1;
    setLength(tempArray[i], 1);

    for i2:=1 to length(strings[i]) do begin
      c := strings[i][i2];
      if ((length(IntToStr(tempArray[i][i3]))) + (length(IntToStr(self.charToAlphabetInteger(c)))) > 9) then begin
        i3 := i3 + 1;
        setLength(tempArray[i], length(tempArray[i])+1);
      end;
      tempArray[i][i3] := self.charToAlphabetInteger(c);
    end;

  end;


  setLength(sortedArray, length(strings));

  for i:=0 to length(strings)-1 do begin
    for i2:=0 to i+1 do begin
      if ((tempArray[i+1][1] < tempArray[i2][1]) AND (order = 'ASC')) OR
         ((tempArray[i+1][1] > tempArray[i2][1]) AND (order = 'DESC')) then begin
        merke := strings[i2];
        strings[i2] := strings[i+1];
        strings[i+1] := merke;
      end;
    end;
  end;

  for i:=0 to length(strings)-1 do begin
    sortedArray[i] := strings[i];
  end;

  Result := sortedArray;
end;
Der Fehler kann nicht in der Funktion "self.charToAlphabetInteger()" liegen, das habe ich geprüft!

Kann mir jemand helfen? Ich habe nämlich meines Erachtens nach alle Array-Längen richtig gesetzt usw.

Danke schonmal!

Johannes
Johannes
  Mit Zitat antworten Zitat