Hola, No te es mas facil incluir directamente el control de .net en la pagina? Sin usar un activeX?
http://codebetter.com/blogs/peter.van.ooijen/archive/2007/06/18/including-a-winforms-user-control-in-an-asp-net-web-page.aspx No tenes que hacer nada raro, pero tene en cuenta las limitaciones: For this to work well the following requirements are put on the client - Use Internet Explorer. This does not work in any of the other browsers. - Have the .NET framework installed on the client machine. - The site should be included in the trusted sites list of the browser. - The browser should be allowed to download files from the (trusted) site. 2010/5/11 Jorge Monsalvo <[email protected]> > Estimados, > > Me surgió el siguiente problema. Tengo una aplicación local (winforms) que > tiene una dll para la impresión de unos tickets en formato especial (el > papel es formulario continuo con troqueles). Por cuestiones comerciales > ajenas al desarrollo original tengo que portar esa impresión a una > aplicación web cuyo servidor va estar alojado en algun proveedor comercial. > Como todo buen programador, no tengo ganas (ni tiempo) de hacer un nuevo > desarrollo, por lo que surgió la idea de armar un ActiveX en .NET Seguí > algunos ejemplos en la red y logré qué se expusiera una propiedad, pero > ningún método (Obviamente los métodos expuestos en realidad llaman a métodos > de la dll original) . Por supuesto cada a dll utilizada le agregamos una > firma, y la compilamos con la opcion de visibilidad COM activada. > > Les adjunto algunos fragmentos de código como para entender que estoy > tratando de hacer, pero mas alla de la ayuda con el código fuente (que se > agradece desde ya) quisiera sus opiniones para ver si voy por buen camino, > si hay componentes disponibles para bajar o comprar, o si existen > alternativas de bajo costo (esto es con el menor tiempo de codificación > posible) > > Muchas Gracias!!! > > Jorge. > > Esto es el código de prueba de la DLL que generaría el componente ActiveX > > namespace > {AxPrinting publicinterfaceAxInterface { > } > > [ > { > { > } > publicstringSeleccionarImpresora(stringbuscar) > returnprt.SeleccionarImpresora(buscar); > { > } > publicvoidImprimirCargoPorID(intidcargo) > { > prt.PrintCargoByID(idcargo); > } > } > > > Página web de prueba > <headrunat="server"></ > < <title></title>head>body> > <objectid="miClase"name="miClase"classid="clsid:0b41245e-5f3c-4371-91bb-22d95134e446"width="400"height="100"></object> > <formid="form1"name="form1"action=""> > <inputtype="text"name="txt"value="enter text > here"><inputtype=buttonvalue="Click me"onClick="doScript();"></ > scriptlanguage="javascript"type="text/javascript">alert(form1.txt.value); > miClase.Connstr = form1.txt.value; > miClase.SeleccionarImpresora( > alert(miClase.Connstr); //Si obviamos el error esto > muesta el valor correcto.</ > </script>html> > }functiondoScript() {"Cute"); //Aca falla "El objeto no soporta esa > propiedad o metodo" > < </form>body> stringSeleccionarImpresora(stringbuscar); > voidImprimirCargoPorID(intidCargo); stringConnstr { get; set; > }ClassInterface(ClassInterfaceType.AutoDual)] publicclassAxClass: > AxInterface privateClasePrintingprt = newClasePrinting(); //Esta es > la clase original publicstringConnstr get{ > returnprt.Connstr; } set{ prt.Connstr = value; } > > > > >
