Einzelnen Beitrag anzeigen

Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#1

Access Violation bei TStack.Count

  Alt 28. Nov 2005, 14:10
Grüßt euch^^

Ich hab wiedermal ein Problem, diesmal bei der TStack-Klasse.
Ich habe folgenden Quelltext:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var i, stackcount: Integer;
  termStr: string;
  temp: ^string;
begin
  stackcount := TokenStack.Count;
  for i := StackCount downto 1 do
   begin
    temp := TokenStack.Pop;
    termStr := temp^ + TermStr;
   end;
  Memo1.Lines.Add(Edit1.Text + ' = ' + termStr);
end;
Ich hab einen Stack mit Tokens angelegt, und rechne bisher Zwischenergebnisse aus (andere Prozedur, soll jetz nur ne Erklärung sein *g*)
Mit obigem Quelltext möchte ich mir in einem String anzeigen lassen, welche Elemente sich auf meinem Stack befinden, und zwar in der richtigen Reihenfolge.
Dazu nehm ich eben in einer Schleife (zählt von der Anzahl der Stackelemente runter bis zu 1) alle Stackelemente der Reihe nach vom Stack runter und sichere sie in einem String. Der Theorie nach müsste das doch klappen, oder?

Denn wenn ich auf diesen Button klicke, kommt eine AV und zwar in der Zeile stackcount := TokenStack.Count;
Code:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 00428F70 in Modul 'Project1.exe'. Lesen von Adresse 00000004' aufgetreten.
---------------------------
Anhalten  Fortsetzen  Hilfe  
---------------------------
und zusätzlich lande ich in der Unit Contnrs, Zeile 505, wo es heißt:
Delphi-Quellcode:
function TOrderedList.Count: Integer;
begin
  Result := List.Count; //Zeile 505
end;
Was hab ich denn falsch gemacht? Ich kann mir nämlich nicht vorstellen, dass die TStack-Klasse fehlerhaft ist.
Oder hab ich eventuell was mit den Zeigern verkehrt gemacht?

Ich hoffe, ihr könnt mir helfen.
Julian J. Pracht
  Mit Zitat antworten Zitat