DLL en .net

DLL en .net

Postby pcordonet » Tue Jun 18, 2013 10:51 am

Hola Antonio,


Recientemente, me ha salido un proyecto para conectar mi software (xharbour profesional) con una dll en .NET.

Es posible, cargar la dll i utilizar los objetos al estilo activex?

Hace tiempo , vi como accedías a código .NET

Muchas gracias.
Pere Cordonet.
pcordonet
 
Posts: 111
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: DLL en .net

Postby wmormar » Tue Jun 18, 2013 5:25 pm

pcordonet,

Es posible, nosotros lo hacemos sin problema
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1074
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Re: DLL en .net

Postby Antonio Linares » Tue Jun 18, 2013 5:38 pm

Pere,

No he visto la forma en la que William lo hace, seguro será interesante de revisar :-)

Yo publiqué FiveNet en donde explico y muestro el código de como lo hice:
https://code.google.com/p/fivenet/
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41408
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: DLL en .net

Postby pcordonet » Tue Jun 18, 2013 6:52 pm

Hola wmormar.

Muchas gracias por responder.

Serias tan amable de hacer un ejemplo?

Estoy muy pedido, ya no se que hacer.

Antonio, he visto el proyecto, veo que generas codigo c# pero, como lo haces para compilar? y despues para que este dentro del ejecutable.

Estas utilizando borland, y yo estoy utilizando xbuildw.exe

No se por donde empezar.


Pere Cordonet
pcordonet
 
Posts: 111
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: DLL en .net

Postby Antonio Linares » Tue Jun 18, 2013 6:57 pm

Pere,

Revisa este simple diagrama que sintetiza como funciona FIveNet:

https://code.google.com/p/fivenet/wiki/architecture
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41408
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: DLL en .net

Postby wmormar » Tue Jun 18, 2013 7:04 pm

Antonio, Pere,

Lei mal? , decia usar la DLL .NET como activex, nosotros usamos la DLL como activex con OLE. Sin problemas. Será que a eso te referias?
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1074
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Re: DLL en .net

Postby Antonio Linares » Tue Jun 18, 2013 7:07 pm

Yo pensé que se referia a usar una DLL programada (hecha en .NET) para ser usada desde .NET
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41408
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: DLL en .net

Postby pcordonet » Tue Jun 18, 2013 7:18 pm

Hola a los dos,

Me refiero una DLL hecha en .NET i utilizar-la dentro de xharbour Comercial.

He probado de hacer un DLL2LIB pero no funciona, da un error.

He probado de regasm para generar el objeto en el registro i utilizar-lo como OLE y también me da error.

Muchas gracias, por su tiempo.
Espero encontrar alguna solucion.

La unica opción que veo factible, es , crear un proyecto con visual c++ y hacer un import de la DLL. (Aqui si que veo las classes, funciones, metodos, ... )

Que opinais?

Pere
pcordonet
 
Posts: 111
Joined: Sat Jan 30, 2010 8:35 am
Location: Girona

Re: DLL en .net

Postby Antonio Linares » Tue Jun 18, 2013 7:29 pm

Pere,

una DLL hecha en .NET no puede ser usada desde una aplicación en xharbour (ó harbour) puesto que necesita del runtime de .NET y Microsoft tiene bloqueados que programas en C (Harbour es un programa en C) accedan a .NET, porque precisamente .NET quiere evitar eso, inseguridad en el código, y que solo se ejecute .NET

Como se puede saltar esa limitación ? Eso es lo que hace FiveNet :-)

La idea es sencilla: Tu haces un pequeño programa en C# (todos los Windows actuales llevan incluido por defecto el compilador de C#. En el build de FiveNet se muestra como usarlo desde el MsDos) y ese programa tuyo SI usa la DLL en .NET. Luego ese programa tuyo en C# se convierte en un servidor COM y entonces SI puede ser usado desde Harbour :-)

Finalmente, si necesitas pasar información de un evento de .NET a la aplicación en Harbour, tienes que hacer el camino contrario, gracias a que desde una aplicación en .NET si se puede acceder a una aplicación en C que será la que accede a Harbour puesto que una DLL y todo lo que la DLL use, usan la misma pila (stack) internamente.

La idea es simple, aunque parezca un tanto enrevesada, y lo importante es que funciona :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41408
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 42 guests