Erst einmal Danke für die vielen Antworten und Entschuldigung meinerseits für die etwas .. wirre Frage.
Das ist ein typisches Einsatzgebiet für FastMM. Das sagt dir im FullDebugMode evtl. sofort wo das Problem liegt.
Ein vorheriger Fehler hatte immer einen Fehler in der FastMM
unit ausgelöst, weswegen ich es Test Weise deaktiviert habe - und vergessen es wieder einzubinden.
Nachdem es dann wieder eingeschaltet war, kam nicht mehr das CPU-Fenster, sondern er sprang in eine Methode - die der constructor aufruft.
[..] Falls Codeteile nicht weggelassen wurden.
Naja, Dinge wie die Initialisierung von Variablen habe ich schon weggelassen.
Den ganzen Code wollte ich niemandem zumuten
Ziel des ganzen war es jedenfalls, aus einem Zustand (etwa die Stellung auf einem Schachbrett) alle möglichen folge-Zustände zu ermitteln - und die daraus folgenden.
Dem constructor
- wird ein Array übergeben, dass alle "Spielfiguren" enthällt (außer dem, das bewegt wird)
- das Feld, welches verändert/ bewegt wurde
- und der vorherige Zustand
Der Fehler lag letztendlich in der Funktion 'without' - hier sollte ein Array zurückgegeben werden, das alle Elemente außer das gewählte enthällt (Das Feld das bewegt wird).
Delphi-Quellcode:
function without(var aFeldArray: FeldArray1D; aPos: Integer): FeldArray1D;
var
i, b: Integer;
begin
SetLength( result,
High( aFeldArray )
);
b := 0;
for i:=0 to High( aFeldArray ) do
begin
if not (i = aPos)
then begin
result[b] := aFeldArray[i]; // diese Zeile
Inc( b ); // mit dieser vertauscht
end;
end;
end;
Zitat:
Delphi-Quellcode:
try
...
except
ShowMessage('nichtssagender Text');
end;
Sowas liebe ich immer.
[..]
Obwohl mir die Try-Except (so wie ich sie genutzt habe) nicht viel gebracht haben, werde ich wohl demnächst darauf achten sie vernünftig zu nutzen - danke dafür