![]() |
Button zur Laufzeit löschen...
Hi!
Wenn mir jemand sagen könnte, wieso folgender Code beim Klick auf den zur Laufzeit erstellten Button einen Absturz produziert, wäre ich sehr dankbar:
Delphi-Quellcode:
Gruß,
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; ScrollBox1: TScrollBox; procedure Button1Click(Sender: TObject); private button:TButton; i:integer; procedure test(Sender:TObject); { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin button:=TButton.Create(scrollbox1); button.Left:=0; button.Top:=0; button.Width:=20; button.height:=20; button.Parent:=scrollbox1; button.Onclick:=test; end; procedure TForm1.test(Sender:TObject); begin FreeAndNil(button); end; end. Ford |
Re: Button zur Laufzeit löschen...
Was für ein fehler kommt denn?
|
Re: Button zur Laufzeit löschen...
Hallo!
Probiere mal Button.Free. ;) Zitat:
Zitat:
Grüße Faux |
Re: Button zur Laufzeit löschen...
|
Re: Button zur Laufzeit löschen...
Zitat:
|
Re: Button zur Laufzeit löschen...
Ja, ist ne Zugriffsverletzung.
Button.Free funktioniert auch nicht. Das Programm ist nur ein kleiner Test um den Fehler zu zeigen. Bei meinem "richtigen" Programm kommt manchmal anstelle der EAccessViolation auch eine EAbstractError. Die Zugriffsverletzung ist in der GetDynaMethod-Prozedur aus der System.pas. |
Re: Button zur Laufzeit löschen...
Zitat:
Gruß Frank |
Re: Button zur Laufzeit löschen...
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz