Benutzer mit den meisten Antworten
ActiveX-Parameter auslesen in C#

Frage
-
Ich habe versucht, anhand einer Anleitung eine einfache ActiveX-Anwendung zu erzeugen, mit der ich die Variablen der <PARAM>-Element auslesen kann. Folgendes ist dabei heraus gekommen:
private string actionCode = String.Empty; [ComVisible(true)] public string SayHello() { return actionCode; } // ... public void Load(IPropertyBag propertyBag, int errorLog) { object value; propertyBag.Read("ActionCode", out value, errorLog); actionCode = (string)value; }
HTML
<OBJECT id="MyActiveXControl" classid="clsid:13514F82-68A3-4C52-B86C-CB991D5C5BCA"> <PARAM name='ActionCode' value='Print'></PARAM> </OBJECT> <script type="text/javascript"> try { var obj = document.MyActiveXControl; if (obj) { alert(obj.GetActionCode()); } else { alert("Object is not created!"); } } catch (ex) { alert("Some error happens, error message is: " + ex.Description); } </script>
Allerdings erhalte ich immer eine Leere "Alert"-Box. Der Parameter wird also offensichtlich nicht eingelesen. Wo liegt mein Fehler?
- Verschoben Robert BreitenhoferModerator Donnerstag, 20. Dezember 2012 10:59 Visual C# (aus:Internet Explorer (IE7, IE8, IE9, IE10))
Antworten
-
Hallo Florian,
Vielleicht kann das Dir weiterhelfen.
http://stackoverflow.com/questions/421857/using-activex-propertybags-from-c-sharp
Gruß,
Ionut
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 20. Dezember 2012 11:00
-
Hallo Florian Peschka,
Ich habe nach der folgenden Anleitung gemacht und konnte es erfolgreich im Internet Explorer anzeigen:
Loading Parameters for a Managed COM Server in HTML.
Was ich anders gemacht habe aus dem obigen Artikel:
Der Artikel schreibt auf einmal unter 3.4 und ganz bevor 3.5…“The above code may be compiled into a DLL which can then be registered to COM using REGASM.EXE“
Ich bin nicht diesen Schritt gegangen sondern in Visual Studio 2010 Register for COM Interop verwendet (What does “Register for COM Interop” actually do?):
[BILD1]
[BILD2]
Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 20. Dezember 2012 10:59
Alle Antworten
-
Hallo Florian,
Vielleicht kann das Dir weiterhelfen.
http://stackoverflow.com/questions/421857/using-activex-propertybags-from-c-sharp
Gruß,
Ionut
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 20. Dezember 2012 11:00
-
Hallo Florian Peschka,
Ich habe nach der folgenden Anleitung gemacht und konnte es erfolgreich im Internet Explorer anzeigen:
Loading Parameters for a Managed COM Server in HTML.
Was ich anders gemacht habe aus dem obigen Artikel:
Der Artikel schreibt auf einmal unter 3.4 und ganz bevor 3.5…“The above code may be compiled into a DLL which can then be registered to COM using REGASM.EXE“
Ich bin nicht diesen Schritt gegangen sondern in Visual Studio 2010 Register for COM Interop verwendet (What does “Register for COM Interop” actually do?):
[BILD1]
[BILD2]
Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 20. Dezember 2012 10:59
-
Hallo Florian Peschka,
Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.