FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour DLL en .net
Posts: 111
Joined: Sat Jan 30, 2010 08:35 AM
DLL en .net
Posted: 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.

Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
Re: DLL en .net
Posted: Tue Jun 18, 2013 05:25 PM

pcordonet,

Es posible, nosotros lo hacemos sin problema

William, Morales

Saludos



m茅xico.sureste
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL en .net
Posted: Tue Jun 18, 2013 05: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
Posts: 111
Joined: Sat Jan 30, 2010 08:35 AM
Re: DLL en .net
Posted: Tue Jun 18, 2013 06: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

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL en .net
Posted: Tue Jun 18, 2013 06: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
Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
Re: DLL en .net
Posted: Tue Jun 18, 2013 07: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
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL en .net
Posted: Tue Jun 18, 2013 07: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
Posts: 111
Joined: Sat Jan 30, 2010 08:35 AM
Re: DLL en .net
Posted: Tue Jun 18, 2013 07: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

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL en .net
Posted: Tue Jun 18, 2013 07: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

Continue the discussion