ActiveX und ProgrammID

gingerswelt

Mitglied
Mit ActiveX kann man verschiedene Objekte in eine Webseite einbinden.
Beispielsweise kenne ich die ProgrammID ="Shell.Explorer" um eine Webseite in einer
Webseite anzuschauen.

Kennt jemand noch andere IDs?
Ich habe gehört, dass je nach Windows Version unterschiedliche IDs zur Verfügung
stehen. Dafür müsste man in die Windows Registry schauen. Ich muss zu meiner
Schande gestehen, dass ich nicht weiß, wo die Registry sich öffnen lässt.
Kann mir jemand weiterhelfen?

Mein Ziel ist es Dateien wie Excel mit ActiveX zu öffnen.

Danke für die Hilfe.
ginger
 
Danke, das war der richtige Tipp. Nun aber zu Schritt 2:
Ich bekomme dauernd die Fehlermeldung:

ActiveX object does not implement IDispatch

Worauf muss ich bei der Auswahl der ClassID oder derProgrammID achten?

Danke
 
Welches Control hast du denn eingebunden?.... jedes hat seine eigenen Eigenschaften/Methoden, welche das sind, solltest du beim Hersteller erfahren.
 
Beispielsweise möchte ich ein Flash Film einbinden.
Dafür habe ich die ClassID in meiner Sprache verwendet:

ClsId = |"{D27CDB6E-AE6D-11cf-96B8-444553540000}"|

Leider habe ich in der Klasse keine Methode gefunden,
die das Laden von Filmen erlaubt.
Was kann ich machen?

Hier alle Methoden, die wahrscheinlich nur nützlcih sind, wenn das File bereits geladen
wurde:

QueryInterface ( any void ) : void
AddRef ( ) : int
Release ( ) : int
GetTypeInfoCount ( int ) : void
GetTypeInfo ( int int void ) : void
GetIDsOfNames ( any int8 int int int ) : void
Invoke ( int any int uint16 any any any int ) : void
SetZoomRect ( int int int int ) : void
Zoom ( int ) : void
Pan ( int int int ) : void
Play ( ) : void
Stop ( ) : void
Back ( ) : void
Forward ( ) : void
Rewind ( ) : void
StopPlay ( ) : void
GotoFrame ( int ) : void
CurrentFrame ( ) : int
IsPlaying ( ) : bool
PercentLoaded ( ) : int
FrameLoaded ( int ) : bool
FlashVersion ( ) : int
LoadMovie ( int #String ) : void
TGotoFrame ( #String int ) : void
TGotoLabel ( #String #String ) : void
TCurrentFrame ( #String ) : int
TCurrentLabel ( #String ) : #String
TPlay ( #String ) : void
TStopPlay ( #String ) : void
SetVariable ( #String #String ) : void
GetVariable ( #String ) : #String
TSetProperty ( #String int #String ) : void
TGetProperty ( #String int ) : #String
TCallFrame ( #String int ) : void
TCallLabel ( #String #String ) : void
TSetPropertyNum ( #String int double ) : void
TGetPropertyNum ( #String int ) : double
TGetPropertyAsNumber ( #String int ) : double
 
Erledigt

Hier meine Lösung:

{import * from CURL.GRAPHICS.ACTIVEX}

{let fla:ActiveXObject= {ActiveXObject.default
||ProgId="ShockwaveFlash.ShockwaveFlash"
ClsId = |"{D27CDB6E-AE6D-11cf-96B8-444553540000}"|
{let fla-box:ActiveXGraphic = {ActiveXGraphic fla}}

{value fla-box}
{do {fla.LoadMovie 0, "file:///D:/your-path/test.swf"}}
 
Zurück