Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: S2000 am 23.07.10 - 10:49:31

Titel: instance member(s) ermitteln
Beitrag von: S2000 am 23.07.10 - 10:49:31
Hallo,

gibt es eine möglichkeit alle "eigenschaften" eines objektes zu ermitteln, damit ich diese alle durchlaufen kann.
Bsp. item.type (wie ermittle ich hier, das ich type abfragen kann, ohne das ich es weiß, bzw. das es in doku steht).
Hintergrund: Ich habe eine funktion geschrieben, welche einen Variant möchte. Die funktion wird entweder mit einem Stream oder einem RT-Item aufgerufen (in der funktion will ich nun wissen, was wars den nun RT o. Variant).
Wenn ich z.b. den type beim stream verwenden würde, dann kommt der fehle 182 not an instance member....

BTW Warum ist es nicht das gleiche, wenn ich
dim x as variant
set x = s.createStream
und dies der funktion übergebe

und
dim x as notesStream
set x = s.createStream
und dies der funktion übergebe

im Debugger sieht beides in der Funktion identisch aus  :-:

Gruß
Armin

PS: Ich hoffe ihr habt die frage verstanden ;-)
Titel: Re: instance member(s) ermitteln
Beitrag von: MadMetzger am 23.07.10 - 11:23:13
Ich habe die Frage noch nicht 100%ig verstanden, aber sowas wie Reflection in Java gibt es meines Wissens in LS nicht.
Titel: Re: instance member(s) ermitteln
Beitrag von: m3 am 23.07.10 - 11:25:52
isA ?
Titel: Re: instance member(s) ermitteln
Beitrag von: S2000 am 23.07.10 - 12:35:42
.... also, wie könnte ich im Script unterscheiden ob in meinem variant ein stream oder ein rtitem ist (bzw. was für ein item). Wenn ich den item-typ wissen will, dann mach ich x = item.type und wenn da ne 0 rauskommt, dann ist das RT. Wenn in dem variant aber ein stream ist und ich lass den code laufen, dann bekomme ich eine fehlermeldung (no instance member), da der stream keine type eigenschaft hat ...

Also die frage, wie kann ich feststellen, welche eigenschaften mir ein object (in diesem fall variant) bietet  ::)

Gruß
Armin
Titel: Re: instance member(s) ermitteln
Beitrag von: m3 am 23.07.10 - 12:39:46
Also mit "DataType()" und "isA" solltest Du weiterkommen.