![]() |
Problem: Kein Übergeordnetes Fenster bei neuer Komponente
Hallo,
ich hab ein Problem mit einer Komponentenerstellung. Ich bekomme immer den Fehler : '' hat kein übergeordnetes Fenster. Das versteh ich überhaupt nicht. :wall: Mein Source:
Delphi-Quellcode:
type
TMTabelle = Class(TStringGrid) private protected public destructor Destroy; constructor Create(AOwner:TComponent);override; procedure Laden; published end; procedure Register; implementation List : TListBox; procedure Register; begin RegisterComponents('Standard', [TMTabelle]); end; destructor TMTabelle.Destroy; begin inherited ; end; constructor TMTabelle.Create(AOwner:TComponent); begin inherited Create(AOwner); List := TListbox.Create(self); List.Parent := self; Laden; // <--- dieser Verweis bringt mir den Fehler, aber warum?? end; procedure TMTabelle.Laden; var Pfad : String; begin pfad := 'Beispiel.txt'; List.Items.LoadFromFile(Pfad); end; Ich kann absolut nicht verstehen, warum er mir, wenn ich auf die Procedur "Laden" verweise, den Fehler bringt. "List" hab ich doch Parent zugewiesen. Vielleicht könnte mir ja jemand sagen, was ich da falsch mache. :roll: |
Re: Problem: Kein Übergeordnetes Fenster bei neuer Komponent
Brrr. List ist eine globale Variable.
Denk mal nach was passiert wenn du 2 Instanzen deiner Komponente erzeugst. Es könnte sein das Du zwar einen (VCL-)Parent definiert hast, aber dieser noch kein Windows-Handle hat bei List.Items.LoadFromFile schon mit Windows-Handles gearbeitet wird. Was spricht dagegen wenn du diese Liste in einer internen Liste speicherst und erst wenn die ListBox sichtbar ist dies Listbox füllst. |
Re: Problem: Kein Übergeordnetes Fenster bei neuer Komponent
Hallo,
nimm statt Tlistbox Tstringlist dann gehts. Tlistbox ist eine visuelle Komponente. Wo soll diese sich denn hinzeichnen wenn kein übergeordnetes Fenster da ist? Rainer |
Re: Problem: Kein Übergeordnetes Fenster bei neuer Komponent
Hallo,
ohh... danke für die schnellen Nachrichten. Ich werd das mal gleich versuchen, ob das geht. DANKE!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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-2025 by Thomas Breitkreuz