Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#1

Frage zu OleVariant

  Alt 5. Mai 2004, 20:47
Kurze Frage, weil ich nicht wirklich Ahnung von diesem ganzen Interface-Kram habe.
Ich arbeite gerade mit einem komplett undokumentierten API.

Ich weiß, dass ich bestimmte Eigenschaften auslesen kann, allerdings liefert die Funktion laut Typbibliothek einen OleVariant zurück:
function GetProperty(propid: HxRegNamespacePropId): OleVariant; safecall; Um diese Funktion nutzen zu können zu können, habe ich also "propId" entsprechend als OleVariant deklariert und dann aufgerufen. Der Konstante in Klammern bezeichnet das eigentliche Objekt, auf das ich es abgesehen habe:
propId := namespace.GetProperty(HxRegNamespacePlugInList); Dieses Objekt ist allerdings vom Typ "IHxRegPlugInList". Wie komme ich jetzt von meinem OleVariant an dieses Ding heran?
Gibt´s so was wie Type-casting?

Danke.


PS: Der Sinn ist, dass ich versuche, mir einen Viewer zu schreiben, der mir die im System bekannten Help 2.0-Namespaces anzeigt. Das ist nicht das Problem. Mein Tree-View listet die schon auf und zeigt auch die bekannten Filter an. Per Klick auf auf das Root-Item (= der Namespace) startet auch die entsprechende Hilfe (das PSDK bspw.).
Jetzt versuche ich eben noch die Plugins und die zugeordneten Hilfedateien auszulesen. Und das geht nur mit der o.g. Methode. Und da hänge ich an dem OleVariant.
  Mit Zitat antworten Zitat