ComEvalCollection()

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

ComEvalCollection()

Beitrag von AUGE_OHR »

hi,
Help File hat geschrieben:mit ComEvalCollection() werden alle Elemente einer COM/ActiveX Collection (deutsch: Sammlung) iteriert.
soweit sogut ... und das könnte dann so aussehen

Code: Alles auswählen

LOCAL aSammel := {}
...
bBlock := { |oItem, n| MachMal(oItem, n, aSammel) }
ComEvalCollection( oCollection, bBlock )
...
PROCEDURE MachMal(oItem, n, aSammel)
   oItem:GetProperty("blabla")
...
   AADD(aSammel,{n,oItem, ... mehr })
RETURN
Problem : nur zu "dem" Zeitpunkt, in MachMal(), steht "das" oItem zu Verfügung ?
wenn ich später über auf "aSammel [nPosi] [2]" zugreife habe ich immer das "letzte Element" ?
Help File hat geschrieben:Collections besitzen oft die IVAR :Count und die Methode :Items().
und wie ist es bei WMI und :ExecQuery() ?
gruss by OHR
Jimmy
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: ComEvalCollection()

Beitrag von UliTs »

AUGE_OHR hat geschrieben:Problem : nur zu "dem" Zeitpunkt, in MachMal(), steht "das" oItem zu Verfügung ?
wenn ich später über auf "aSammel [nPosi] [2]" zugreife habe ich immer das "letzte Element" ?
Wenn oCollection korrekt instantiiert wurde, ja!
Frage: warum willst unbedingt das "letzte Element" haben? Steht da immer etwas besonderes drin?
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: ComEvalCollection()

Beitrag von AUGE_OHR »

UliTs hat geschrieben:Frage: warum willst unbedingt das "letzte Element" haben?
will ich NICHT !!!

ich "hätte" ja gerne "jedes" Item als Object um es "hinterher" zum verarbeiten aber genau das klappt ja nicht !
der Grund warum ich ComEvalCollection() einsetzen muss :
Unter Umständen fehlen einer Collection Methoden und IVARs, um auf einzelne Elemente zu zugreifen.
In diesen Fällen muss die Funktion ComEvalCollection() benutzt werden.
d.h. ich komme, laut Xbase++, nur so an die Items ( Elemente) einer Collection (wie ein Array).
Ich nehme nun die Property der Items im Codeblock in ein Array auf ... und da "sollte" dann auch das "aktuelle" Item als Object gespeichert sein ...

es erinnert mich an Codeblock aus String zusammen bauen ... nur eben mit Objecten ...
gruss by OHR
Jimmy
Antworten