Inicio  |  Emisión  |  Librerias  |  Documentación DLL's
La LCO fue actualizada por última vez el 16/ago/2022

Integración de servicios mediante DLL

Las librerías DLL desarrolladas por Solución Factible®, son elementos ActiveXControl COM, puede ser usados por cualquier lenguaje que soporte importación de DLL's, como por ejemplo: Vsual Basic 6(VB6) , Microsoft Visual C++ (MSVC), Clarion, Visual Fox Pro, lenguajes .NET como C# VB .NET, ASP etcétera.

Instalación

Dependiendo del lenguaje de programación que se este manejando, es la manera en la que una DLL será importada al proyecto para ser utilizada, algunas veces la DLL tiene que ser registrada en el sistema operativo, también se puede hacer uso de el archivo .dll directamente, mandandolo llamar en su ruta.

De las maneras mas comunes de instalación de DLL's es ejecutar el comando: regsvr32 para registrar la DLL en el sistema:

C:\Users\SF\> regsvr32 SF_ActiveXCtrlCFDI_1.2.2.dll

Solución Factible® también provee un instalador, extrae y ejecuta el comando para registrar la dll en el sistema, en caso de que usted necesite el archivo .dll solo debe dirigirse a "C:\SFDLL\" y aquí lo encontrará.

Pasos:

  • 1.- Instalar la dll ejecutando "SF DLL Installer.exe"
  • 2.- Espere el mensaje de confirmación del registro, después haga click en "OK" y después en continuar.

Implementación en Visual Studio 2010

Despues de haber ejecutado el instalador de la dll o haberla registrado manualmente con el comando regsvr32 los siguientes pasos son:

  • 1.- Ir a menú proyecto/project seleccionar "Agregar referencia".
  • 2.- Seleccionar pestaña COM y buscar la librería dll con prefijo: "SF" y el nombre, como por ejemplo: "Timbrar", por ejemplo para agregar la dll de timbrado buscaríamos: SFTimbrar.
  • 3.- Seleccione y haga click en "OK".

La referencia ahora es parte de su proyecto, y podra verse en el explorador de su solución en el apartado de "Referencias" ó "References", con un nombre como: SF_ConectorWS_TypeLib (el nombre varia de acuerdo a la DLL que se haya importado) este nombre es el que vamos a usar para instanciar el objeto y usar los métodos.

C#

                //Instanciando usando Framework 3.5
                SF_ConectorWS_TypeLib.TimbrarClass timbrado35 = new SF_ConectorWS_TypeLib.TimbrarClass();

                //Instanciando usando Framework 4.0
                SF_ConectorWS_TypeLib.Timbrar timbrado40 = new SF_ConectorWS_TypeLib.Timbrar();

                //Timbrado:
                string responseXML = timbrado.timbrarCFDI("testing@solucionfactible.com", "timbrado.SF.16672", @"C:\F2011-06-09.xml", 0);
                
                //Fin del programa
        

VisualBasic .NET
                'Ejemplo Visual Basic 2008

                Dim timbrado As New SF_ConectorWS_TypeLib.Timbrar
                Dim xmlResponse As String
                xmlResponse = timbrado.cancelar(
                    "testing@solucionfactible.com",
                    "timbrado.SF.16672",
                    "C:\iap031014rj2.cer",
                    "C:\iap031014rj2_17s.key",
                    "12345678a",
                    "26D51262-F8A6-40C4-9181-D9965BD37F25", 0)

                    'Fin del programa
        
Delphi 7

Pasos para importar la dll

program TimbrarSF;
{$APPTYPE CONSOLE}

uses
  SysUtils,
  SF_ConectorWS_TypeLib_TLB,
  ActiveX;

var
  timbrar: TTimbrar;    //clase que registramos y nombre que le dimos al importar la DLL
  usuario, password, cfdiPath, wsResponse: WideString;
  produccion: Integer;

begin
     CoInitialize(nil);
     timbrar := TTimbrar.Create(nil);
     usuario := 'testing@solucionfactible.com';
     password := 'timbrado.SF.16672';
     cfdiPath := 'C:\test.xml';
     produccion := 0;
     Writeln('Enviando a timbrar ' + cfdiPath);
     wsResponse := timbrar.timbrarCFDI(usuario, password, cfdiPath, produccion);
     Writeln('Response: ');
     Writeln(wsResponse);
     Readln(usuario); {Esperar un enter}
end.
            

VisualBasic 6
        'TIMBRAR TEST
        Dim timbrado
        'El string "SF.timbrar" es el ProgID (o nombre de la clase como se registró) 
        'de la dll de timbrado, cada DLL tiene uno diferente que se puede consultar en su API
        Set timbrado = CreateObject("SF.timbrar")
        Text1.Text = timbrado.timbrarCFDI("testing@solucionfactible.com", "timbrado.SF.16672", "C:/F_A00001099.xml", 0)

        'Fin del programa
    

PowerBuilder/Powershell
            OLEObject axTimbrado; 
            axTimbrado = CREATE OLEObject 
            #El string "SF.timbrar" es el ProgID (o nombre de la clase como se registró) 
            #de la dll de timbrado, cada DLL tiene uno diferente que se puede consultar en su API
            integer result 
            result = axTimbrado.ConnectToNewObject("SF.timbrar"); 
            IF result = 0 THEN 
              MessageBox("SUCCESS Conexion con DLL", result, & Exclamation!, OK!, 2) 
              string respuesta 
              respuesta = axTimbrado.timbrarCFDI("testing@solucionfactible.com", "timbrado.SF.16672", "C:\SFDLL\xml.xml", 0) MessageBox("RESPUESTA DLL", respuesta, & Exclamation!, OK!, 2) 
            ELSE 
              MessageBox("FALLO Conexion con DLL", result, & Exclamation!, OK!, 2) 
            END IF
    
Datos de contacto
comments powered by Disqus