Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Komponente mit ChildControls entwickeln (https://www.delphipraxis.net/155395-komponente-mit-childcontrols-entwickeln.html)

Bummi 21. Okt 2010 21:45

AW: Komponente mit ChildControls entwickeln
 
ich kann hier nichts testen aber wenn Du Namen verwenden willst
warum erzeugst Du hier auf AOwner und nicht auf self?
FToolbar := TAdvToolBar.Create(AOwner);
FToolbar.Name := 'DataToolbar';
Wenn Du wg. Eigenheiten des TAdvToolBar tatsächlich auf Owner "Createn" muß knallt es bei vergebenem Namen auf dem Owner.

stahli 21. Okt 2010 21:49

AW: Komponente mit ChildControls entwickeln
 
Bei mehreren Instanzen würde dann mehrfach der gleiche Name vergeben. Das ist unzulässig.

Bummi 21. Okt 2010 22:11

AW: Komponente mit ChildControls entwickeln
 
@stahli
jepp, allerdings nur wenn er wie in seinem bisherigen Code Owner verwendet...

Die Namen müssen nur innerhalb des Owners eindeutig sein, bei Self wäre es jedes mal ein neuer Owner.

torud 22. Okt 2010 07:15

AW: Komponente mit ChildControls entwickeln
 
Das mit dem Self tat Wunder!
Die Namensvergabe habe ich nun auch weggelassen.
Aktuell läufts erstmal!

torud 27. Okt 2010 11:33

AW: Komponente mit ChildControls entwickeln
 
Hallo Wissende,

nun habe ich doch noch ein Problem bzw. eine Frage. Wenn ich die erstellte Komponente nun einem Projekt hinzufügen möchte, würde ich das gern NICHT ausschließlich auf einem Formular tun, sondern auch mal auf einem Panel. In dem Fall soll die Komponenten nur die unterstützten Child-Controls des Panels sichern. Sobald ich aber versuche die DataBar auf einem Panel zu platzieren, wird die Komponente automatisch auf dem Formular platziert. Ich kann das dann nur Faken, indem ich die Komponente vom Formular ausschneide und dann auf dem Panel einfüge.

Liegt das vielleicht an diesem Code hier?

Delphi-Quellcode:
constructor TmyDataBar.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  [b]Parent := TWinControl(Owner);[/b]
  Self.Align        := daTop;
  self.Height       := 25;
Also an TWinControl? Was müsste ich machen, damit ich die Komponente auch auf anderen Controls platzieren kann?

Und als weitere Frage. Warum werden die Buttons der Toolbar beim erstmaligen erzeugen korrekt erstellt und wenn ich später das Projekt mit der Komponente lade, sind diese immer "durcheinander"?

Ich stelle auch gern nochmal den gesamte KomponentenCode hier ein, wollte aber erstmal keinen mit dem Lesen überfordern. Auch kann ich gern den ein oder anderen Screenshot als Beleg anheften, für diejenigen, die die Komponente nicht nach-kompilieren können, weil die ADV-Komponenten nicht vorhanden sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz