![]() |
Element '' hat kein übergeordnetes Fenster
Hallo,
bitte seht euch mal folgendes an und sagt mir bitte warum es in der Zeile Items.Add() knallt wenn ich die Kompo auf das Formular setze.
Delphi-Quellcode:
Danke Bauerle
type
TTimeZoneBox = class(TComboBox) private { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } constructor Create(AOwner: TComponent); override; published { Published-Deklarationen } end; constructor TTimeZoneBox.Create(AOwner: TComponent); begin inherited Create(AOwner); // Hier knallts !!!!! items.add('Irgendwas'); end; |
Re: Element '' hat kein übergeordnetes Fenster
Setze den Code-Teil, der die Items vorbelegt, in eine überschriebene CreateWnd Methode. Dort hast Du auf jeden Fall ein gültiges Handle mit Parent.
Achtung: CreateWnd kann theoretisch mehrmals im Laufe des Programms aufgerufen werden, evtl. musst Du ein Flag mit einbauen, das dafür sorgt, dass der Initialisierungs-Code nur ein einziges Mal ausgeführt wird. Gruß, teebee |
Re: Element '' hat kein übergeordnetes Fenster
Hallo Baeuerle,
wie die Fehlermeldung ja bereits sagt, fehlt ein Elternteil :mrgreen: . Versuchs mal so:
Delphi-Quellcode:
constructor TTimeZoneBox.Create(AOwner: TComponent);
begin inherited Create(AOwner); Parent := AOwner as TWinControl; // Hier knallts jetzt nicht mehr!!!!! self.items.add('Irgendwas'); end; |
Re: Element '' hat kein übergeordnetes Fenster
Kann ich das mit
Delphi-Quellcode:
abfangen?
csloading in componentstate
|
Re: Element '' hat kein übergeordnetes Fenster
Hallo Baeuerle,
nein. Komponenten brauchen immer ein Parent, in dem sie dargestellt werden. |
Re: Element '' hat kein übergeordnetes Fenster
Zitat:
Zitat:
[Nachtrag] Der Fehler tritt auf, weil ein Control normalerweise so erzeugt wird:
Delphi-Quellcode:
... du kannst also in der Methode .Create noch keinen Parent haben!
Variable := TControl.Create(Owner);
Variable.Parent := IrgendEinControl; |
Re: Element '' hat kein übergeordnetes Fenster
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 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