Moin!
Ich habe hier ein kleines testprogramm. Wenn ich zuerst auf Button1 und dannach auf Button2 klicke bekomme ich eine AccessViolation, obwohl die Variable eigentlich definiert ist. Wisst ihr wodran das liegt?
Delphi-Quellcode:
TTest =
class
private
TestString :
string;
public
constructor create;
procedure ShowString;
end;
var
Form1 : TForm1;
test : TTest;
implementation
{$R *.dfm}
constructor TTest.create;
begin
TestString := '
Hallo';
while true
do
begin
Application.ProcessMessages;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
test := TTest.create;
test.free;
end;
procedure TTest.ShowString;
begin
ShowMessage(TestString);
// Exception: EAccessViolation
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
test.ShowString;
end;
ciao, moin399