Wieso wird eine zur Laufzeit erzeugte Komponente nicht angezeigt?
Ich möchte dynamisch eine Instanz von der Klasse TEdit zur Laufzeit erzeugen. Leider
erscheint auf meinem Formular aber kein Eingabefeld. Was muß man nach dem Aufruf der
Create-Methode noch machen?
Man mußt dem neuen TEdit-Objekt einen Besitzer (Parent) zuweisen. Das ist normalerweise
die direkt übergeordnete Komponente, also z.B. das Formular oder ein Panel.
var MyEdit : TEdit; begin MyEdit := TEdit.Create(self); // In diese Fall ist self = Form1 MyEdit.Parent := self; // oder z.B. auch Eingabefeld.Parent := Panel1;
Delphi 1 | Delphi 2 | Delphi 3 | Delphi 4 |
nicht getestet | Version nicht betroffen | getestet |
siehe auch:
Wie kann ich ein Array von Komponenten erzeugen?
Erzeugen einer Komponente über .create