ActiveX Events in IE6 und IE7
Christian Greiner
- browser
Hallo alle zusammen,
ich habe ein Problem mit Events eines selbst geschriebenen ActiveX-Steuerelements. Das Steuerelement ist in VB 5 geschrieben und stellt nur ein einziges Event zur Verfügung. Das seltsame ist nun, dass im IE6 der JavaScript-Code korrekt ausgeführt wird, wenn das Steuerelement das Event abfeuert, im IE7 passiert jedoch garnichts. Das Control ist als Safe for Scripting und Safe for Initialization markiert (Registry-Schlüssel unter "Implemented Categories"). Kann sich vielleicht einer von euch vorstellen, warum das ganze im IE7 nicht funktioniert? Sicherheitseinstellungen habe ich auch schon gecheckt (Ist eine "Trusted Site") und die Zuweisung des JS-Codes über attachEvent hab ich auch schon ausprobiert.
Hier noch der relevante HTML-Code:
<SCRIPT FOR="MyObject1" EVENT="OnEvent()">
alert("Funktioniert in IE6");
</SCRIPT>
<OBJECT ID="MyObject1"
CLASSID="CLSID:FDF13766-1BF1-403A-86BD-7B62E8428FC5"
CODEBASE="MyAXControl.ocx">
</OBJECT>
Vielen Dank schon mal im Voraus.
Nochmal Hallo an Alle,
habe das Problem mittlerweile gelöst. Falls noch jemand dieses Problem hat, hier die Lösung:
In der Registry muss das Threading Modell des ActiveX-Steuerelements gesetzt werden:
Unter HKEY_CLASSES_ROOT\CLSID{<CLSID-des-ActiveX-Controls>}\InprocServer32 die Zeichenfolge "ThreadingModel" mit dem Wert "Apartment" erstellen und es funktioniert.
Mfg,
Christian Greiner