Estos wrappers (definiciones de funciones en
una DLL) son necesarios para utilizar VXml en sus programas
basados en (x)Harbour, esto incluye las interfaces gráficas
Xailer, FiveWin, MiniGUI y para las aplicaciones en modo consola,
la definición de funciones es igual en todos los casos.
Para utilizarlos copie el contenido que se muestra a continuación en cualquier archivo .PRG de su proyecto.
(x)Harbour le permite incluir instrucciones en lenguaje "C" puro dentro de cualquier archivo .PRG anteponiendo la directiva al compilador #pragma BEGINDUMP, lo que se coloque a continuacion de la directiva, será ignorado por el compilador de (x)Harbour y será procesado al momento de la compilación en lenguaje "C" que realizan todas las versiones de (x)Harbour, el contenido del codigo en lenguaje "C" termina con la directiva #pragma ENDDUMP
Fecha de actualización :
08 de Julio de 2024 se
añadieron las funciones para Carta
Porte 3.1
Para utilizarlos copie el contenido que se muestra a continuación en cualquier archivo .PRG de su proyecto.
(x)Harbour le permite incluir instrucciones en lenguaje "C" puro dentro de cualquier archivo .PRG anteponiendo la directiva al compilador #pragma BEGINDUMP, lo que se coloque a continuacion de la directiva, será ignorado por el compilador de (x)Harbour y será procesado al momento de la compilación en lenguaje "C" que realizan todas las versiones de (x)Harbour, el contenido del codigo en lenguaje "C" termina con la directiva #pragma ENDDUMP
Wrapper:
#pragma BEGINDUMP
#include "hbapi.h"
#include "windows.h"
typedef long ( __cdecl * __VXML_New ) ( LPSTR szVersion ); typedef void ( __cdecl * __VXML_Free ) ( long p ); typedef long ( __cdecl * __VXML_NewWithLog ) ( LPSTR szVersion, LPSTR cNombreLog ); typedef void ( __cdecl * __VXML_SetLogFile ) ( long p, LPSTR NombreLog ); typedef void ( __cdecl * __VXML_SetUserInfo ) ( long hXml, LPSTR szUser, LPSTR servidor ); typedef long ( __cdecl * __VXML_ProcesaDocumento ) ( long hXml, LPSTR csd, LPSTR key, LPSTR keypwd, LPSTR outfile ); typedef long ( __cdecl * __VXML_ProcesaDocumentoSSL ) ( long hXml, LPSTR csd, LPSTR key, LPSTR keypwd, LPSTR outfile ); typedef void ( __cdecl * __VXML_AddCfdiRelacionados_cfdi40 ) ( long p, LPSTR TipoRelacion, LPSTR UUID1, LPSTR UUID2, LPSTR UUID3, LPSTR UUID4, LPSTR UUID5, LPSTR UUID6, LPSTR UUID7, LPSTR UUID8, LPSTR UUID9, LPSTR UUID10 ); typedef void ( __cdecl * __VXML_AddCfdiRelacionado_cfdi40 ) ( long p, LPSTR UUID ); typedef void ( __cdecl * __VXML_SetComprobanteInfo_cfdi40 ) ( long p, LPSTR Serie, LPSTR Folio, LPSTR Fecha, LPSTR FormaDePago, LPSTR CondicionesDePago, LPSTR SubTotal, LPSTR Descuento, LPSTR Moneda, LPSTR TipoCambio, LPSTR Total, LPSTR TipoDeComprobante, LPSTR MetodoDePago, LPSTR LugarExpedicion, LPSTR Confirmacion, LPSTR Exportacion ); typedef void ( __cdecl * __VXML_SetEmisorInfo_cfdi40 ) ( long p, LPSTR RFC, LPSTR Nombre, LPSTR RegimenFiscal, LPSTR FacAtrAdquirente ); typedef void ( __cdecl * __VXML_SetReceptorInfo_cfdi40 ) ( long p, LPSTR RFC, LPSTR Nombre, LPSTR ResidenciaFiscal, LPSTR NumRegIdTrib, LPSTR UsoCFDI, LPSTR DomicilioFiscalReceptor, LPSTR RegimenFiscalReceptor ); typedef void ( __cdecl * __VXML_AddConcepto_cfdi40 ) ( long p, LPSTR ClaveProdServ, LPSTR NoIdentificacion, LPSTR Cantidad, LPSTR ClaveUnidad, LPSTR Unidad, LPSTR Descripcion, LPSTR ValorUnitario, LPSTR Importe, LPSTR Descuento, LPSTR ObjetoImp ); typedef void ( __cdecl * __VXML_AddConceptoTraslado_cfdi40 ) ( long p, LPSTR Base, LPSTR Impuesto, LPSTR Tipofactor, LPSTR TasaOCuota, LPSTR Importe ); typedef void ( __cdecl * __VXML_SetImpuestosInfo_cfdi40 ) ( long p, LPSTR totalImpuestosTrasladados, LPSTR totalImpuestosRetenidos ); typedef void ( __cdecl * __VXML_AddTraslado_cfdi40 ) ( long p, LPSTR Impuesto, LPSTR TipoFactor, LPSTR TasaOCuota, LPSTR Importe, LPSTR Base ); HB_FUNC ( VXML_ADDTRASLADO_CFDI40 ) { HINSTANCE hLib; __VXML_AddTraslado_cfdi40 VXML_AddTraslado_cfdi40; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_AddTraslado_cfdi40 = (__VXML_AddTraslado_cfdi40) GetProcAddress(hLib, "VXML_AddTraslado_cfdi40"); VXML_AddTraslado_cfdi40(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3), (LPSTR) hb_parc(4), (LPSTR) hb_parc(5), (LPSTR) hb_parc(6)); }
HB_FUNC ( VXML_SETIMPUESTOSINFO_CFDI40 ) { HINSTANCE hLib; __VXML_SetImpuestosInfo_cfdi40 VXML_SetImpuestosInfo_cfdi40; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_SetImpuestosInfo_cfdi40 = (__VXML_SetImpuestosInfo_cfdi40) GetProcAddress(hLib, "VXML_SetImpuestosInfo_cfdi40"); VXML_SetImpuestosInfo_cfdi40(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3)); }
HB_FUNC ( VXML_ADDCONCEPTOTRASLADO_CFDI40 ) { HINSTANCE hLib; __VXML_AddConceptoTraslado_cfdi40 VXML_AddConceptoTraslado_cfdi40; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_AddConceptoTraslado_cfdi40 = (__VXML_AddConceptoTraslado_cfdi40) GetProcAddress(hLib, "VXML_AddConceptoTraslado_cfdi40"); VXML_AddConceptoTraslado_cfdi40(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3), (LPSTR) hb_parc(4), (LPSTR) hb_parc(5), (LPSTR) hb_parc(6)); }
HB_FUNC ( VXML_ADDCONCEPTO_CFDI40 ) { HINSTANCE hLib; __VXML_AddConcepto_cfdi40 VXML_AddConcepto_cfdi40; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_AddConcepto_cfdi40 = (__VXML_AddConcepto_cfdi40) GetProcAddress(hLib, "VXML_AddConcepto_cfdi40"); VXML_AddConcepto_cfdi40(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3), (LPSTR) hb_parc(4), (LPSTR) hb_parc(5), (LPSTR) hb_parc(6), (LPSTR) hb_parc(7), (LPSTR) hb_parc(8), (LPSTR) hb_parc(9), (LPSTR) hb_parc(10), (LPSTR) hb_parc(11)); }
HB_FUNC ( VXML_SETRECEPTORINFO_CFDI40 ) { HINSTANCE hLib; __VXML_SetReceptorInfo_cfdi40 VXML_SetReceptorInfo_cfdi40; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_SetReceptorInfo_cfdi40 = (__VXML_SetReceptorInfo_cfdi40) GetProcAddress(hLib, "VXML_SetReceptorInfo_cfdi40"); VXML_SetReceptorInfo_cfdi40(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3), (LPSTR) hb_parc(4), (LPSTR) hb_parc(5), (LPSTR) hb_parc(6), (LPSTR) hb_parc(7), (LPSTR) hb_parc(8)); }
HB_FUNC ( VXML_SETEMISORINFO_CFDI40 ) { HINSTANCE hLib; __VXML_SetEmisorInfo_cfdi40 VXML_SetEmisorInfo_cfdi40; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_SetEmisorInfo_cfdi40 = (__VXML_SetEmisorInfo_cfdi40) GetProcAddress(hLib, "VXML_SetEmisorInfo_cfdi40"); VXML_SetEmisorInfo_cfdi40(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3), (LPSTR) hb_parc(4), (LPSTR) hb_parc(5)); }
HB_FUNC ( VXML_SETCOMPROBANTEINFO_CFDI40 ) { HINSTANCE hLib; __VXML_SetComprobanteInfo_cfdi40 VXML_SetComprobanteInfo_cfdi40; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_SetComprobanteInfo_cfdi40 = (__VXML_SetComprobanteInfo_cfdi40) GetProcAddress(hLib, "VXML_SetComprobanteInfo_cfdi40"); VXML_SetComprobanteInfo_cfdi40(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3), (LPSTR) hb_parc(4), (LPSTR) hb_parc(5), (LPSTR) hb_parc(6), (LPSTR) hb_parc(7), (LPSTR) hb_parc(8), (LPSTR) hb_parc(9), (LPSTR) hb_parc(10), (LPSTR) hb_parc(11), (LPSTR) hb_parc(12), (LPSTR) hb_parc(13), (LPSTR) hb_parc(14), (LPSTR) hb_parc(15), (LPSTR) hb_parc(16)); }
HB_FUNC ( VXML_ADDCFDIRELACIONADO_CFDI40 ) { HINSTANCE hLib; __VXML_AddCfdiRelacionado_cfdi40 VXML_AddCfdiRelacionado_cfdi40; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_AddCfdiRelacionado_cfdi40 = (__VXML_AddCfdiRelacionado_cfdi40) GetProcAddress(hLib, "VXML_AddCfdiRelacionado_cfdi40"); VXML_AddCfdiRelacionado_cfdi40(hb_parnl(1), (LPSTR) hb_parc(2)); } HB_FUNC ( VXML_ADDCFDIRELACIONADOS_CFDI40 ) { HINSTANCE hLib; __VXML_AddCfdiRelacionados_cfdi40 VXML_AddCfdiRelacionados_cfdi40; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_AddCfdiRelacionados_cfdi40 = (__VXML_AddCfdiRelacionados_cfdi40) GetProcAddress(hLib, "VXML_AddCfdiRelacionados_cfdi40"); VXML_AddCfdiRelacionados_cfdi40(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3), (LPSTR) hb_parc(4), (LPSTR) hb_parc(5), (LPSTR) hb_parc(6), (LPSTR) hb_parc(7), (LPSTR) hb_parc(8), (LPSTR) hb_parc(9), (LPSTR) hb_parc(10), (LPSTR) hb_parc(11), (LPSTR) hb_parc(12)); }
HB_FUNC ( VXML_PROCESADOCUMENTOSSL ) { HINSTANCE hLib; __VXML_ProcesaDocumentoSSL VXML_ProcesaDocumentoSSL; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_ProcesaDocumentoSSL = (__VXML_ProcesaDocumentoSSL) GetProcAddress(hLib, "VXML_ProcesaDocumentoSSL"); hb_retnl( VXML_ProcesaDocumentoSSL(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3), (LPSTR) hb_parc(4), (LPSTR) hb_parc(5))); }
HB_FUNC ( VXML_PROCESADOCUMENTO ) { HINSTANCE hLib; __VXML_ProcesaDocumento VXML_ProcesaDocumento; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_ProcesaDocumento = (__VXML_ProcesaDocumento) GetProcAddress(hLib, "VXML_ProcesaDocumento"); hb_retnl( VXML_ProcesaDocumento(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3), (LPSTR) hb_parc(4), (LPSTR) hb_parc(5))); }
HB_FUNC ( VXML_SETUSERINFO ) { HINSTANCE hLib; __VXML_SetUserInfo VXML_SetUserInfo; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_SetUserInfo = (__VXML_SetUserInfo) GetProcAddress(hLib, "VXML_SetUserInfo"); VXML_SetUserInfo(hb_parnl(1), (LPSTR) hb_parc(2), (LPSTR) hb_parc(3)); }
HB_FUNC ( VXML_SETLOGFILE ) { HINSTANCE hLib; __VXML_SetLogFile VXML_SetLogFile; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_SetLogFile = (__VXML_SetLogFile) GetProcAddress(hLib, "VXML_SetLogFile"); VXML_SetLogFile(hb_parnl(1), (LPSTR) hb_parc(2)); }
HB_FUNC ( VXML_NEWWITHLOG ) { HINSTANCE hLib; __VXML_NewWithLog VXML_NewWithLog; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_NewWithLog = (__VXML_NewWithLog) GetProcAddress(hLib, "VXML_NewWithLog"); hb_retnl( VXML_NewWithLog((LPSTR) hb_parc(1), (LPSTR) hb_parc(2))); }
HB_FUNC ( VXML_FREE ) { HINSTANCE hLib; __VXML_Free VXML_Free; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_Free = (__VXML_Free) GetProcAddress(hLib, "VXML_Free"); VXML_Free(hb_parnl(1)); }
HB_FUNC ( VXML_NEW ) { HINSTANCE hLib; __VXML_New VXML_New; hLib = LoadLibrary( "VXML_x86.dll" ); VXML_New = (__VXML_New) GetProcAddress(hLib, "VXML_New"); hb_retnl( VXML_New((LPSTR) hb_parc(1))); }
#pragma ENDDUMP