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; }
>
>
>
>
>

Responder a