TLabel + TEdt dynamisch in ein TPanel einfügen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Lorca
Beiträge: 127
Registriert: Di 3. Nov 2020, 12:25

TLabel + TEdt dynamisch in ein TPanel einfügen

Beitrag von Lorca »

Hallo zusammen, :)

ich würde gerne ein TLabel und ein TEdit in ein TPanel einfügen.
Dies soll über eine TCollection und ein TCollectionItem aus einer noch zu erstellenden Komponente erfolgen.
( Diese neue Komponente liegt rudimentär vor und ist noch nicht als Package Installiert. Sie wird im Test Programm manuell aufgerufen).



Die TCollection und das Collection Item wurden korrekt definiert, registriert und aufgerufen
Im ITEM Constructor erstelle ich ein Label. Dieser erscheint jedoch NICHT in der Form.
Bei der TCollection handelt es sich um eine TOwnedCollection

Ich habe es versucht mit und ohne InsertComponent bei beiden ergebnislos.
Ebenso mit der PARENT Zuweisung ( kombiniert mit / ohne InsertComponent. Ebenfalls Erfolglos.

TYPE
TItem =CLASS(TCollectionItem)
private
mo_Owner : TPanel;
END;

CONSTRUCTOR ITEM.Create( ACollection : TCollection );
BEGIN
INHERITED Create( ACollection );
mo_Owner := TPanel( ACollection.Owner );
mo_Label := TLabel.Create( TComponent( ACollection.Owner ) );
mo_Owner.InsertComponent( mo_Label );
mo_Label.Parent := mo_Owner;
mo_Label.Caption := 'Die ist ein Test';
END;

Kann jemand sagen was ich falsch mache oder vergessen habe?

Gruß
Lorca

Lorca
Beiträge: 127
Registriert: Di 3. Nov 2020, 12:25

Re: TLabel + TEdt dynamisch in ein TPanel einfügen

Beitrag von Lorca »

Hallo zusammen :)

Problem ist gelöst.

Danke an alle.

Gruß
Lorca

PS:
Sry für die verspätete Erklärung

Ich hatte die TCollection mit einem falschen OWNER erstellt.

Gruß
Lorca

Antworten