Einzelnen Beitrag anzeigen

Stähff

Registriert seit: 2. Nov 2005
Ort: Chemnitz
6 Beiträge
 
Delphi 7 Enterprise
 
#1

Access violation bei SetLength

  Alt 29. Nov 2005, 12:09
moinmoin,

ich hab 'n riesen Problem: beim Dimensionieren eines dynamischen Arrays tritt
ununterbrochen eine 'acces violation'-Exception auf, die sich als Programmabsturz
äußert bei dem das CPU-Fenster erscheint ...unglücklicherweise hab ich keinen
blassen Schimmer warum dieser Fehler auftritt und wie man ihn vermeiden kann
(statisches Array wäre in dieser Situation nur der allerletze Ausweg)

hier einige Informationen:

Bei dem zu dimensionierenden Array handelt es sich um eine Membervariable
einer eigenen Klasse, deren Typ ein normales Record ist (das enthält neben
einigen Standarddatentypen wiederum zwei weitere Records und ein statisches
Feld... was aber aber eigentlich kein Problem sein dürfte, oder???)
Die Prozedur in der der Fehler auftritt gehört zur gleichen Klasse und ist
als private deklariert
Als ich den SetLength-Befehl in einen try..except-Block kapselte ist der gleiche
Fehler aufgetreten...


betroffener Funktionsausschnitt:

Delphi-Quellcode:
procedure tAutoPilot.AddPossib(const nNbr: ShortInt; const oTarget: tTarget);
 begin
  SetLength(FPossibs, nNbr); // Array dimensionieren?!

  with FPossibs[nNbr - 1] do
   begin
...als nNbr wird hier 1 übergeben, der Fehler passiert noch bevor der with-Block
erreicht wird. Ach ja, als Attachment noch das Bild von dem, was die CPU gerade
gemacht hat...?!

allein komm ich hier echt nich weiter, also danke für jede antwort
p.s. kann leider nicht lange online bleiben...
Miniaturansicht angehängter Grafiken
setlength-error_118.gif  
SteGra
"Probleme kann man niemals mit der gleichen Denkweise lösen durch die sie entstanden sind."Albert Einstein
  Mit Zitat antworten Zitat