javascript - ActiveX "Class doesn't support Automation" -
this first effort @ activex command (and experience, last). high level, when seek utilize method console error reads "class doesn't back upwards automation".
i created custom activex control, installed via msi, , attempting utilize in mvc application. interface defined as:
[comvisible(true)] [interfacetype(cominterfacetype.interfaceisdual)] [guid("7ec603c3-3fb9-4e8b-a5b8-4d5804511e15")] public interface iprinter the concrete class:
[comvisible(true)] [classinterface(classinterfacetype.none)] [guid("1f668100-532a-4077-bede-1610af2cc6df")] [progid("axcontrols.printer")] [comdefaultinterface(typeof(iprinter))] public class printer: iprinter, iobjectsafety iobjectsafety interface , implementation:
[comimport] [guid("34abf5fa-1991-4d53-81bf-7dc7e3efd8f6")] [interfacetype(cominterfacetype.interfaceisiunknown)] public interface iobjectsafety { [preservesig] int getinterfacesafetyoptions(ref guid riid, out int pdwsupportedoptions, out int pdwenabledoptions); [preservesig] int setinterfacesafetyoptions(ref guid riid, int dwoptionsetmask, int dwenabledoptions); } public int getinterfacesafetyoptions(ref guid riid, out int pdwsupportedoptions, out int pdwenabledoptions) { const objectsafetyoptions options = objectsafetyoptions.interfacesafe_for_untrusted_caller | objectsafetyoptions.interfacesafe_for_untrusted_data; pdwsupportedoptions = (int)options; pdwenabledoptions = (int)options; homecoming 0; } public int setinterfacesafetyoptions(ref guid riid, int dwoptionsetmask, int dwenabledoptions) { homecoming 0; } [flags] public enum objectsafetyoptions { interfacesafe_for_untrusted_caller = 0x00000001, interfacesafe_for_untrusted_data = 0x00000002, interface_uses_dispex = 0x00000004, interface_uses_security_manager = 0x00000008 }; and javascript:
var ax = new activexobject("axcontrols.printer"); ax.print(json.parse(data.obj), "nameofprinter"); the error occurs on sec js line. i'm using ie 11. stepping through code appears command loads properly. if alter arguments invalid, different message leads me believe right , not issue.
any help much appreciated.
i getting error on remote machine, can not access. found few links mentioning need re-registered few dlls, not sure if prepare issue. if seek resolve problem? oracle docs, see issue 11821241
run in command prompt:
regsvr32 msscript.ocx regsvr32 dispex.dll regsvr32 vbscript.dll regsvr32 scrrun.dll regsvr32 urlmon.dll javascript .net activex
No comments:
Post a Comment