Hallo;
Ik heb een panel met daarop een TButton. Nu wil ik ervoor zorgen datals ik op die knop druk, dat dan het panel waar de knop opstaat wordt verwijderd en dus ook de knop zelf. Als ik dit echter doe dan krijg ik steeds een accessviolation! Hieronder een voorbeeldje die ik even snel gemaakt heb waarin ik die accessviolation krijg (alleen relevante code). De code is volledig nutteloos maar is even als voorbeeld bedoeld:
procedure TForm1.FormCreate(Sender: TObject);
var
TestButton: TButton;
begin
TestButton := TButton.Create(Panel1);
TestButton.Caption := 'Verwijder mij!!';
TestButton.OnClick := DeletePanel;
Panel1.InsertControl(TestButton);
end;
procedure TForm1.DeletePanel(Sender: TObject);
begin
TButton(Sender).Parent.Free;
end;
end.
(Het panel wordt, inclusief knop wel verwijderd maar ik krijg dus die accessviolation
)
Ik heb een panel met daarop een TButton. Nu wil ik ervoor zorgen datals ik op die knop druk, dat dan het panel waar de knop opstaat wordt verwijderd en dus ook de knop zelf. Als ik dit echter doe dan krijg ik steeds een accessviolation! Hieronder een voorbeeldje die ik even snel gemaakt heb waarin ik die accessviolation krijg (alleen relevante code). De code is volledig nutteloos maar is even als voorbeeld bedoeld:
procedure TForm1.FormCreate(Sender: TObject);
var
TestButton: TButton;
begin
TestButton := TButton.Create(Panel1);
TestButton.Caption := 'Verwijder mij!!';
TestButton.OnClick := DeletePanel;
Panel1.InsertControl(TestButton);
end;
procedure TForm1.DeletePanel(Sender: TObject);
begin
TButton(Sender).Parent.Free;
end;
end.
(Het panel wordt, inclusief knop wel verwijderd maar ik krijg dus die accessviolation