![]() |
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 |
Re: TCollection zweidimensional - kein Designtime Editor
Du bräuchtest ja einen Property-Editor für die Subklasse der Subklasse
|
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.
|
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.
|
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 |
Re: TCollection zweidimensional - kein Designtime Editor
*push*
|
Re: TCollection zweidimensional - kein Designtime Editor
* letzer push, dann geb ichs auf :( *
|
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. |
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.)
|
Re: TCollection zweidimensional - kein Designtime Editor
Dann muss ich wohl dort mal reinschauen was Sache ist.
|
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.
|
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... |
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.
|
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! |
Re: TCollection zweidimensional - kein Designtime Editor
Mache ich :) Ich teste mal noch paar Sachen und hoffe dass Remy uns da weiterhelfen kann.
|
Re: TCollection zweidimensional - kein Designtime Editor
* push *
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz