Einzelnen Beitrag anzeigen

Vasco da Gama

Registriert seit: 2. Aug 2009
131 Beiträge
 
Delphi 2009 Professional
 
#1

Sortieralgorithmus verursacht Zugriffsverletzung

  Alt 3. Feb 2010, 16:30
Hallo, ich hoffe ich störe nicht mit meiner (möglicherweise) dummen Frage:

Ich habe folgenden Code zum Sortieren:
Delphi-Quellcode:
procedure SortArray(var AArray: Array of Integer; var BArray: Array of String); overload;
var
  i, j: Integer;
begin
  for j := Length(AArray) downto 1 do
  begin
    for i := 1 to j do
    begin
      if (AArray[i - 1]>AArray[i]) then
      begin
        SwapThings(AArray[i - 1], AArray[i]);
        SwapThings(BArray[i - 1], BArray[i]);
      end;
    end;
  end;
end;
SwapThings ist eine überladene Funktion, nämlich:
Delphi-Quellcode:
procedure SwapThings(var A, B: Integer); overload;
var
  temp: Integer;
begin
  temp := A;
  A := B;
  B := temp;
end;

procedure SwapThings(var A, B: String); overload;
var
  temp: String;
begin
  temp := A;
  A := B;
  B := temp;
end;
SortArray soll also 2 Arrays nach einem davon (dem Integer Array) sortieren.
Also übergebe ich SortArray ein Integer und ein StringArray, die dieselbe Größe haben(ich lasse es mir unmittelbar davor mit showmessage anzeigen)

Beim SortArray erhalte ich aber eine Zugriffsverletzung. Durch gezieltes Auskommentieren konnte ich herausfinden, dass der Fehler irgendwo in der SwapThings procedure liegt (in der mit den Strings)


Aber wo genau liegt denn mein Fehler?
Ich danke allen im Voraus, die sich meines Problems annehmen und entschuldige mich falls mein Fehler trivial ist.

mfG
Flo
Programmiere inzwischen hauptsächlich mit C++. Nicht böse werden
  Mit Zitat antworten Zitat