Dll en .net desde FiveWin

Dll en .net desde FiveWin

Postby jrestojeda » Mon May 11, 2015 1: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: Select all  Expand view
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: Select all  Expand view
#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
User avatar
jrestojeda
 
Posts: 583
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Dll en .net desde FiveWin

Postby Antonio Linares » Mon May 11, 2015 4:23 pm

regards, saludos

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

Re: Dll en .net desde FiveWin

Postby jrestojeda » 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
User avatar
jrestojeda
 
Posts: 583
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Dll en .net desde FiveWin

Postby Joel Andujo » Thu May 14, 2015 2:41 pm

Hola amigo, así quedaría :

Code: Select all  Expand view
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: Select all  Expand view

 // 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
User avatar
Joel Andujo
 
Posts: 130
Joined: Fri Oct 07, 2005 3:14 pm
Location: Cd. Obregón, Sonora, México

Re: Dll en .net desde FiveWin

Postby jrestojeda » Thu May 14, 2015 6: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
User avatar
jrestojeda
 
Posts: 583
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 87 guests