Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

TCollection in TCollection wie eine TreeView - möglich ?

0 views
Skip to first unread message

Jens Kallup

unread,
Dec 25, 2021, 12:15:24 PM12/25/21
to
Hallo,

ist es möglich innerhalb einer TCollection, eine weiter TCollection
zu programmieren ?
Wenn ja wie macht man das mit den vorliegenden Code auf:
https://wtools.io/paste-code/b84x

Zeilen 140, und: 162

Vielen Dank für Infos
Jens Kallup

P.S.: Ich verwende nur Delphi 7 von 2002 32-Bit (ich weiß: Alter
Schinken, aber was solls ?
kallup_jens.vcf

Jens Köhler

unread,
Dec 27, 2021, 3:23:55 AM12/27/21
to
Am 25.12.2021 um 18:15 schrieb Jens Kallup:
> Hallo,
>
> ist es möglich innerhalb einer TCollection, eine weiter TCollection
> zu programmieren ?

> Vielen Dank für Infos
> Jens Kallup
>
> P.S.: Ich verwende nur Delphi 7 von 2002 32-Bit (ich weiß: Alter
> Schinken, aber was solls ?

Hallo,

ich habe das nicht weiter angesehen, aber was passiert, wenn Du einfach
eine Collection erzeugst und zuweist?

Jens

Jens Kallup

unread,
Dec 27, 2021, 3:40:45 AM12/27/21
to
Am 27.12.2021 um 09:23 schrieb Jens Köhler:
> ich habe das nicht weiter angesehen, aber was passiert, wenn Du einfach
> eine Collection erzeugst und zuweist?

also der vorliegende Code funktioniert für einmal Collection.
Das heißt, die mit dem Component erzeugte Collection wird gut
sichtbar erzeugt, ist anwählbar.
Allerdings wird dann innerhalb dieser Collection die zweite
Collection nur als (nicht aufklapparer) Eintrag im Designer
angezeigt.
Daher gehe ich mal davon aus, das was nicht stimmt oder ggf.
noch initializiert werden muss.
Aber im Moment fällt mir dazu nichts ein und stehe auf dem
Schlauch.
Vielleicht hat ja ein versierter Delindianer eine Idee dazu?

Gruß, Jens
kallup_jens.vcf

Jens Köhler

unread,
Dec 27, 2021, 10:29:54 AM12/27/21
to
Am 27.12.2021 um 09:40 schrieb Jens Kallup:
> also der vorliegende Code funktioniert für einmal Collection.
> Das heißt, die mit dem Component erzeugte Collection wird gut
> sichtbar erzeugt, ist anwählbar.
> Allerdings wird dann innerhalb dieser Collection die zweite
> Collection nur als (nicht aufklapparer) Eintrag im Designer
> angezeigt.
> Gruß, Jens

Ich habe es auf die schnelle mit D5 nicht zum laufen gebracht.
In D5 ist TCollection aber auch nur ein Container, der Inhalte aufnimmt.
Wenn etwas angezeigt werden soll, mußt Du das selbst tun bzw. die
Inhalte müssen sich anzeigen. Also liegt es doch auch an Dir, eine
Aufklappfunktion zu schreiben, oder nicht?

Jens

Jens Kallup

unread,
Dec 27, 2021, 8:54:16 PM12/27/21
to
Hallo,

glücklicherweise macht Delphi diese "Aufklappfunktion" schon von sich
aus indem es weitere Properties anzeigt die man dann so programmieren
kann, dass dann eine TColorBox erscheint, oder ein TFontDialog, etc..

Allerdings habe ich für TCollection in TCollection keine Idee, die
rekursive Schleife (also item öffnet sich, neuer Speicher wird dann
zugeordnet, item öffnet sich, neuer speicher ...).

Jens
kallup_jens.vcf

Jens Köhler

unread,
Dec 28, 2021, 6:46:43 AM12/28/21
to
Am 28.12.2021 um 02:54 schrieb Jens Kallup:
> Hallo,
>
> glücklicherweise macht Delphi diese "Aufklappfunktion" schon von sich
> aus indem es weitere Properties anzeigt die man dann so programmieren
> kann, dass dann eine TColorBox erscheint, oder ein TFontDialog, etc..
>
> Jens

Dann hatt diese Collection wohl nichts mehr mit der aus D5 zu tun, denn
da ist es wie gesagt nur ein nicht sichtbarer Container.
Laut Hilfe verwendet TListView Ableitungen von CollectionItems, taugt
eventuell zum nachlesen.

Was mir aber aufgefallen ist:

constructor TkallupMenuPanelCollectionItem.Create(AOwner: TCollection);
begin
...
self.FCollection := TkallupMenuPanelCollection.Create(self.FComponent);
end;

dort erzeugst Du doch schon eine UnterCollection. Ist das so richtig?
Sollte das nicht eher heißen
self.FCollection := AOwner; ?

Jens

Jens Kallup

unread,
Dec 28, 2021, 7:14:25 AM12/28/21
to
Hall Du-Icj :-)

Am 28.12.2021 um 12:46 schrieb Jens Köhler:
> Am 28.12.2021 um 02:54 schrieb Jens Kallup:
>> Hallo,
>>
>> glücklicherweise macht Delphi diese "Aufklappfunktion" schon von sich
>> aus indem es weitere Properties anzeigt die man dann so programmieren
>> kann, dass dann eine TColorBox erscheint, oder ein TFontDialog, etc..

>
> Was mir aber aufgefallen ist:
>
> constructor TkallupMenuPanelCollectionItem.Create(AOwner: TCollection);
> begin
>   ...
>   self.FCollection := TkallupMenuPanelCollection.Create(self.FComponent);
> end;
>
> dort erzeugst Du doch schon eine UnterCollection. Ist das so richtig?
> Sollte das nicht eher heißen
>   self.FCollection := AOwner; ?
>
> Jens

der constructor schaut bei mir nun so aus:

inherited Create(AOwner);
self.FCollection := TkallupMenuPanelCollection.Create(
self.FComponent);

es kommen keine MV's !
allerdings bin ich noch auf Level-1 Ebene gefangen.
Ich werde mal die Tage probieren, wie sich das Ganze mit
Array lösen lassen könnte.

Gruß, der andere Jens :-)
kallup_jens.vcf

Jens Köhler

unread,
Dec 28, 2021, 11:54:57 AM12/28/21
to
Am 28.12.2021 um 13:14 schrieb Jens Kallup:


Hallo,

dumme Frage: Wenn Du einen Treeview möchtest, weshalb nimmst Du keinen?

Jens

Jens Köhler

unread,
Dec 28, 2021, 12:00:46 PM12/28/21
to


Bzw. MenüEditor klingt, als ob auch Menüs geeignet sind, die ja schon
Submenüs mitbringen.
0 new messages