Delphi-PRAXiS

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/)
-   -   Delphi TCollection zweidimensional - kein Designtime Editor (https://www.delphipraxis.net/119441-tcollection-zweidimensional-kein-designtime-editor.html)

Zacherl 26. Aug 2008 17:48


TCollection zweidimensional - kein Designtime Editor
 
Hey,

habe mir eine Komponente gebastelt, welche eine Eigenschaft vom einem von TCollection abgeleiteten Typ hat (TMyOuterCollection). Wenn ich jetzt im Objektinspektor auf die Punkte klicke, kann ich die einzelnen Elemente bearbeiten. Nun hat jedes meiner Elemente wiederum eine Eigenschaft von einem von TCollection abgeleiteten Typ (TMyInnerCollection).

Wieso öffnet sich kein Editor, wenn ich hier auf die Punkte im Objektinspektor klicke? :?:

Gruß Zacherl

mkinzler 26. Aug 2008 18:07

Re: TCollection zweidimensional - kein Designtime Editor
 
Du bräuchtest ja einen Property-Editor für die Subklasse der Subklasse

Zacherl 26. Aug 2008 18:46

Re: TCollection zweidimensional - kein Designtime Editor
 
Verstehe ich nicht .. bei der OuterCollection regelt Delphi das doch auch eigenständig und zeigt die Liste mit Items und beim Anklicken werden deren Eigenschaften im OI gezeigt.

bepe 26. Aug 2008 20:12

Re: TCollection zweidimensional - kein Designtime Editor
 
Wenn dir die drei punkte angezeigt werden aber beim Klick nichts geschieht, existiert die Inner-Collection vermutlich nicht. Überprüfe mal ob im Create der Outer-Items die Inner-Collection erzeugt wird.

Zacherl 26. Aug 2008 21:13

Re: TCollection zweidimensional - kein Designtime Editor
 
Jap wird alles korrekt erzeugt. Erstelle ich bei der Hauptkomponente eine Eigenschaft vom Typ TMyInnerCollection, dann öffnet sich auch wie gewohnt der Editor. Nur wenn die InnerCollection halt eine Eigenschaft eines Items der OuterCollection ist passiert nichts.

Muss man eventuell Owner manuell setzen oder sowas?

Gruß Zacherl

Zacherl 27. Aug 2008 19:03

Re: TCollection zweidimensional - kein Designtime Editor
 
*push*

Zacherl 31. Aug 2008 13:23

Re: TCollection zweidimensional - kein Designtime Editor
 
* letzer push, dann geb ichs auf :( *

Roaster 3. Nov 2008 14:01

Re: TCollection zweidimensional - kein Designtime Editor
 
Tja, was soll ich sagen? Ich stehe jetzt vor dem gleichen Problem wie Zacherl:

Meine Komponente hat ein Property vom Typ TCollection, namens 'First'. Dieses Property sollte hat ein Property, das wiederum vom Typ TCollection ist, namens 'Second'.

Während 'Second' noch, im Objekt Inspektor, innerhalb von 'First' als eigenes Property angezeigt wird, passiert nach einem Klick auf die drei Punkte gar nichts.

Beide Collections werden sehr wohl erstellt. 'First' innerhalb des Konstruktors der Komponente und 'Second' innerhalb von Create eines CollectionItems der Collection 'Second'.

Ich habe irgendwie den Verdacht, dass geschachtelte Collections nicht unterstützt werden. Kann das sein? Wie würde ihr dann solche Abhängigkeiten im OI lösen? Ich möchte an dieser Stelle nicht einen eigenen Property Editor schreiben, da sich bisher alles mit den Standard Editoren erschlagen lies.

Zacherl 3. Nov 2008 14:56

Re: TCollection zweidimensional - kein Designtime Editor
 
Hey, ich habe auch noch keine Lösung gefunden. Verschachtelte Collections werden aber definitiv unterstützt. (Sieht man z.b. bei den DevExpress Bars. Dort kann man bei der Ribbon Komponente eine TabCollection verwalten und für jedes Tab kann man nun eine Kategorie-Collection anlegen.)

Roaster 3. Nov 2008 15:10

Re: TCollection zweidimensional - kein Designtime Editor
 
Dann muss ich wohl dort mal reinschauen was Sache ist.

Zacherl 3. Nov 2008 16:31

Re: TCollection zweidimensional - kein Designtime Editor
 
Das wär cool. Ich selbst habe leider keinen Quelltext der besagten Komponentensammlung. Ahso bei dem AdvTabSet in der "TMS Components" Komponentensammlung habe ich glaube ich auch 2D Collections gesehen.

Roaster 3. Nov 2008 19:32

Re: TCollection zweidimensional - kein Designtime Editor
 
Das TMS Component Pack hätte ich auch hier mit Source. Mal sehen was dort gemacht wird.

In den CodeGear Newsgroups hat jemand den Tipp gegeben, dass die Collection nicht von TCollection sondern von TOwnedCollection abgeleitet sein sollte. Die Hilfe dazu sagt zumindest dass dies der bessere Weg sei.

Lange Rede kurzer Sinn: es brachte nicht wirklich was...

Zacherl 3. Nov 2008 20:08

Re: TCollection zweidimensional - kein Designtime Editor
 
Vielleicht dann mal den Owner der zweiten Collection entweder auf die erste Collection oder auf die Komponente setzen. Muss ich gleich mal testen.

Roaster 3. Nov 2008 21:17

Re: TCollection zweidimensional - kein Designtime Editor
 
Also bei den TMS Komponenten bin ich nicht wirklich weiter gekommen. Die DevExpress Sourcen haben auch nichts gebracht, so dass ich mal meine Source jetzt in die CG Newsgroups gepostet habe, da dort Remy sein Hilfe angeboten hat.

Wenn du noch was rausbekommen hast, dann antwortet doch bitte wieder hier. Danke!

Zacherl 3. Nov 2008 21:42

Re: TCollection zweidimensional - kein Designtime Editor
 
Mache ich :) Ich teste mal noch paar Sachen und hoffe dass Remy uns da weiterhelfen kann.

Zacherl 18. Dez 2008 15:03

Re: TCollection zweidimensional - kein Designtime Editor
 
* push *


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:14 Uhr.

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