Einzelnen Beitrag anzeigen

Benutzerbild von MrMooed
MrMooed

Registriert seit: 18. Feb 2012
101 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Debuggen einer Schleife

  Alt 17. Jan 2014, 14:08
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
Gruß,
MrMooed
"Unsere Luft hat einen Vorteil: Man sieht was man einatmet" - Ein Chinese
  Mit Zitat antworten Zitat