Einzelnen Beitrag anzeigen

tkone

Registriert seit: 2. Okt 2009
Ort: Sachsen
63 Beiträge
 
Delphi 7 Professional
 
#13

Re: invalid poiter und access violation

  Alt 15. Okt 2009, 15:11
Zitat von p80286:
Was ist mit dem Debugger?
Hast Du dir einmal im Verlauf der Verarbeitung MUSTER (sollte ein Pointer sein) und die Inhalte/Adressen von MUSTER angeschaut?
Schau mal ob sich length(MUSTER) verändert ("Funktionsaufrufe" gestatten nicht vergessen!)

Das Ergebnis von M_Size/Plat_Byte ist KEIN Integer!
(schuss_Byte:=M_Size div plat_Byte; ist besser)
Da sollte der Compiler aber sehr meckern! hast du vielleicht alle Prüfungen abgeschaltet die es gibt?
^^ nee, da kommen keine warnungen(hab auch nix abgestellt), da das ergebis immer eine ganzzahl ausspukt.
die relationen von M_Size, Plat_byte und schuss_byte gehen immer auf.

zum debugger:
MUSTER wird geladen, und gefüllt. (setlength und anschließend über eine schleife mit read(f) aus der geladenen datei die werte ausgelesen)
MUSTER wird von mir bearbeitet (s.o.)
MUSTER wird in neuer Datei gespeichert.
neue datei wird geladen.
1 Zeile vor dem neuen setlength von MUSTER ist MUSTER noch identisch mit dem bearbeiteten inhalt und der größe der vorherigen datei.
beim aufruf von setlength mit den neuen abmaßen kommt der EAccessViolation.
danach ist MUSTER mit den neuen Abmaßen(alter inhalt) und wird mit den akuellen werten überschrieben.

habs bereits probiert MUSTER im letzten schritt zu leeren (zb. setlength 0 oder :=nil) funktioniert zwar, aber die fehlermeldung kommt trotzdem beim aufruf des befehls zum leeren.


EDIT:
hab die ersten 4 Spalten von MUSTER auf ein hilfsarray gespeichert(mglw. darf man MUSTER nicht verändern)
dieses hilfsarray wird nun bearbeitet und beim speichern zuerst die spalten 1-4 des hilfsarrays und erst danach die urinfos aus MUSTER ab der spalte 5 geschrieben.
scheint daran gelegen zu haben, denn ich konnte bisher die fehlermeldungen nicht reproduzieren.
  Mit Zitat antworten Zitat