Delphi-Quellcode:
unit Testklasse;
interface
uses SysUtils, Dialogs, ShellApi,ShellApiEx, Windows,Forms,StdCtrls,Classes;
type
TTest =
class(TObject)
public
Klammerliste: TStringlist;
// hier werden die schließenden Klammern hinterlegt
constructor create;
// legt Klammer ab
procedure PushKlammer(str:
string);
end;
implementation
constructor TTest.create;
begin
Klammerliste := TStringlist.create;
end;
procedure TTest.PushKlammer(str:
string);
{ Dieser Funktion wird die öffnende Klammer übergeben,
der schließende Ausdruck wird auf dem Stack abgelegt }
var
strb:
string;
begin
strb:=str;
Klammerliste.Add(strb);
showmessage(Klammerliste.Text);
end;
mit
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
//var
//m: Ttest;
begin
m.Create;
m.PushKlammer('(');
end;
bekomme ich den Fehler mit dem Listenmaximum bei schließen den Programms nachden Pushklammer das getan hat, was es soll und mit der oben genannten Version bekomme ich eine Zugriffsverletzung sobald ich auf den Button klicke.
Erwarte das Beste und bereite dich auf das Schlimmste vor.