FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Dll en .net desde FiveWin
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Dll en .net desde FiveWin
Posted: Mon May 11, 2015 01:07 PM
Hola a todos,
Estoy queriendo realizar pruebas de crear una dll en c#.net y luego a dicha dll usarla desde FiveWin.
驴Se puede? En ese caso... cu谩l ser铆a la metodolog铆a.

Dej贸 un peque帽o c贸digo de prueba con el c贸digo c# y luego el c贸digo FiveWin.

Code (fw): Select all Collapse
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Serialization;


namespace MyDll
{
聽 聽 public class Class1
聽 聽 {
聽 聽 聽 聽 int Sumar(int a, int b)
聽 聽 聽 聽 {
聽 聽 聽 聽 聽 聽 int nSuma = 0;

聽 聽 聽 聽 聽 聽 nSuma = a + b;

聽 聽 聽 聽 聽 聽 return nSuma;
聽 聽 聽 聽 }
聽 聽 }
}


Este c贸digo lo compilo con Visual Studio y genero una dll.

Luego mi idea en FiveWin a grueso modo es la siguiente:

Code (fw): Select all Collapse
#include "fivewin.ch"

Function Main()
Local a,b

a:=1
b:=2

nResultado:=Sumar(a,b) // La funci贸n Sumar es la que esta en la dll y el resultado deber铆a ser 3

MsgInfo(STR(nResultado))

Return nil


驴C贸mo se deber铆a invocar a la DLL?

Si bien este ejemplo que quiero lograr es sencillo, la idea es luego poder acceder a WebServices con c# y luego a traves de una dll utilizar esas funciones desde los programas en FiveWin.

驴Alguna ayuda?

Desde ya muchas gracias.
Saludos,
Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Dll en .net desde FiveWin
Posted: Mon May 11, 2015 04:23 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: Dll en .net desde FiveWin
Posted: Tue May 12, 2015 11:12 AM

Antonio,
Muchas gracias por la respuesta. Vamos a ver que sale...
Saludos,

Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 143
Joined: Fri Oct 07, 2005 03:14 PM
Re: Dll en .net desde FiveWin
Posted: Thu May 14, 2015 02:41 PM
Hola amigo, as铆 quedar铆a :

Code (fw): Select all Collapse
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace MyDll
{
    [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsDual)]
    public interface ValidaMetodos
    {
        int Sumar(int a, int b);
    }

    public class Suma:ValidaMetodos
    {
        public Suma()
        {
        }

        public int Sumar(int a, int b)
        {
            int nSuma = 0;

            nSuma = a + b;

            return nSuma;
        }
    }
}

- En Propiedades de la Clase -> Informaci贸n de ensamblado se tiene que seleccionar : Crear ensamblado visible a trav茅z de COM.
- Se tiene que registrar la dll : regasm.exe MyDll.dll /register /tlb (sales a la ventana de DOS como administrador)

As铆 se ejecuta desde FWH:
Code (fw): Select all Collapse
 // Instanciamos la DLL
 oSuma:=CreateObject('MyDll.Suma')
 TRY
   nResultado:=oSuma:Sumar(5, 5)
   ? nResultado
 CATCH oErr
   ? 'Error al instanciar Dll!!'
 END


Espero te ayude, para mi se han abierto un sin n煤mero de posibilidades al generar dll expuestas COM y poder usarlas desde nuestro FWH.

saludos
Joel Andujo
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: Dll en .net desde FiveWin
Posted: Thu May 14, 2015 06:30 PM

Joel,
Muchas gracias por la respuesta.
Voy a hacer las pruebas correspondientes y luego comentar茅.
Saludos,

Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda

Continue the discussion