![]() |
TCollection = not TCollection ?
Erst mal vorab habe noch keine Erfahrungen mit TCollection in Delphi gesammelt.
Erst mal was code
Delphi-Quellcode:
Ich enumeriere alle Komponente die sich in der Anwendung befinden.
for ICtrl := 0 to FParentObj.ComponentCount - 1 do
begin Ctrl := FParentObj.Components[ICtrl]; sCtrl := Ctrl.ClassName; If (sCtrl = 'TComboBox') or (sCtrl = 'TComboBoxEx') or (sCtrl = 'TDBLookupCombo') or (sCtrl = 'TDriveComboBox') then begin CtrHwnd := FindWindowEx(FParentObj.Handle, 0, PWideChar(sCtrl), nil); end; end; Da ich nicht ohne weiteres an das Handle der Combo komme hole ich es unter verwendung von FindWindowEx erst ein. Nun möchte ich dieses einer Collection hinzufügen. (erste bzw. Aktuelle Idee) Aber eine TCollection in Delphi kennt keine Identifikationsnummer bei der verwendung von Add Ist es überhaupt sinnvoll dafür TCollection zu verwenden?Oder einfach über ne einfache Liste..
Delphi-Quellcode:
Ich wollte quasi die Combos anhand der Nummer später identifizieren.
CtrlType: TCollection;
CtrlType.Add(1, CtrHwnd);// <<< schade geht nicht! gruss |
AW: TCollection = not TCollection ?
TCollection lohnt sich hauptsächlich dafür, wenn sie zu einer Komponente gehört deren Kindelemente ebenfalls im OI bearbeitet werden sollen.
|
AW: TCollection = not TCollection ?
Zitat:
Das ist auch noch eins meiner problem da ich ja so ohne weiteres nicht an die Hintergrundfarbe komme bzw.. setzen kann. Daher wollte ich über TCollection gehen um die Eigenschaften der Combo verändern zu können. So wie ich gelesen habe beinhalten diese ja selbst Collection ... oder hab ich da was falsch verstanden? So wie hier von Luckie schon gesagt Zitat:
gruss |
AW: TCollection = not TCollection ?
Kann es sein, dass du das mit Property-Editoren verwechselst?
Beispiel Property-Editor: TForm.Color Beispiel Collection: TListView.Columns |
AW: TCollection = not TCollection ?
Zitat:
Manchmal wenn ich eine Idee habe und diese nicht umsetzbar ist (Delphi) vergleiche ist das schon mal gerne mit meiner Muttersprache (VB) Hehehehee.... :thumb: :) Meine also nicht den Property Editor. Was eine Collection ist ist mir also schon klar. Aber so wie es ausschaut macht es dann wohl keinen sinn :? Muss diese idee dann wohl verwerfen. Danke. gruss |
AW: TCollection = not TCollection ?
Kann es sein, dass du eigentlich eine Hashmap/Dictionary suchst? Neuere Delphi-Versionen mit Generics haben glaube ich von Haus aus eine Implementierung dabei (TDictionary wenn ich mich nicht irre), bei älteren Versionen musst du selbst was basteln oder finden (von mir schwirrt hier im Forum glaube ich auch noch eine Hashmap herum).
|
AW: TCollection = not TCollection ?
Zitat:
Hab mir gestern mal ein handbuch mit TDictionary von Embarcadero runtergeladen wurde aber nicht so recht schlau daraus. EDIT: Hmm ..
Delphi-Quellcode:
procedure Add(const Key: TKey; const Value: TValue);
Sieht danach aus als wenn es das ist was ich suche bzw. umsetzen möchte. Muss mich noch schlau machen wie das funktioniert. Von dir habe ich leider nichts gefunden gruss |
AW: TCollection = not TCollection ?
TCollection.Add erzeugt eine neue Instanz von der Klasse, die du beim TCollection.Create angegeben hast.
|
AW: TCollection = not TCollection ?
Zitat:
|
AW: TCollection = not TCollection ?
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 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