Hallo zusammen,
ich prüfe in einer neuen Basis-Klasse diverse Einstellungen.
Diese Klasse wird vom Form main im constructor verwendet.
Das funktioniert auch einwandfrei.
In Abhängigkeit dieser Einstellungen sollen diverse Componenten zur Laufzeit auf dem Form main erstellt werden.
Dies möchte ich ebenfalls in dieser Klasse erledigen.
Wie weise ich den diversen Komponenten die erstellt werden sollen, nun parent zu?
Geht das so überhaupt, oder denke ich zu sehr um 3 ecken?
gehts eventuell auch einfacher ?
Gibts vieleicht irgendwo ein Beispiel?
Danke für eure Info
Gruss KH
Componenten zur Laufzeit
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Das geht schon und es recht einfach also du defnierst die eine Variable von den Typ den du erstellen möchtest.
Dann hast du zu griff auf die Parent Eigenschaft
z.b. so:
Dann hast du zu griff auf die Parent Eigenschaft
z.b. so:
Code: Alles auswählen
procedure CreateCompo;
var
Button:TButton
begin
Button:=TButton.Create(self)
Button.parent:=self
..
end;
oder so
// Kann sein das ich mich hier verschrieben habe
wiht TButton.Create(self) do begin
parent:=self
end;
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Ja das währe eine Möglichkeit. Die Komponenten sollten ja jemanden gehören. Es muss ja nicht den Form gehören. Die könnten ja auch der Parent Komponente gehören.
Es gibt bestimmt noch andere Wege das zu lösen, aber so ist es am einfachsten.
Du könntest auch noch die Unit forms einbinden und dann direckt auf Application.Mainfrom zurückgreifen.
Es gibt bestimmt noch andere Wege das zu lösen, aber so ist es am einfachsten.
Du könntest auch noch die Unit forms einbinden und dann direckt auf Application.Mainfrom zurückgreifen.
MFG
Michael Springwald
Michael Springwald