FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour LIB CURL + HARBOUR + BCC 7.7 (AHORA SOLUCION CHILKAT - ACTIVEX)
Posts: 411
Joined: Sun Jan 31, 2010 03:30 PM

Re: LIB CURL + HARBOUR + BCC 7.7

Posted: Wed Mar 19, 2025 05:30 PM

le agregue el archivo firmado... y responde con "0" y vacio el response

Posts: 411
Joined: Sun Jan 31, 2010 03:30 PM

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO )

Posted: Wed Mar 19, 2025 11:18 PM
Buena noche.. he logrado enviar facturas electr贸nicas a la DIAN COLOMBIA, con
el siguiente c贸digo

Nota : solo me falta firmar desde harbour el archivo a enviar en : curl_easy_setopt( hCurl, HB_CURLOPT_POSTFIELDS, cXmlStr )

Requiero ayuda de expertos en el tema de firmar xml---

Gracias

JONSSON RUSSI
#include "hbcurl.ch"

PROCEDURE main()

   local nError, cResponse
   //local cXmlStr   := hb_memoread( "peticion.xml" )
   local aHeader   := {}

   local cUrl := "https://vpfe.dian.gov.co/WcfDianCustomerServices.svc"
   local cCertFile := "CERTIFICADO.p12"
   local cCertType := "P12" // o "PFX"
   local cCertPass := "xxxxxxxxx"
   local cNomZip := "z006331767200025SP104100000250.zip"
   local cFacturaXml,cXmlStr := ""
   local aHasRes :=  hash()
   local cFilRes := ""
   local cSignedXmlFile := "E:\TEMP\XML_FIRMADO\z006331767200025SP104100000250_fv_B64"
   local hCurl

    cFacturaXml = MemoRead( cSignedXmlFile )
    //  cFacturaXml :=  "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"

    // Crear la solicitud SOAP
    cXmlStr := ;
        '<?xml version="1.0" encoding="UTF-8"?>' + ;
        '<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wcf="http://wcf.dian.colombia">' + ;
        '<soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"><wsse:Security soap:mustUnderstand="true" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsu:Timestamp wsu:Id="TS-BD40368ECABC33A9ED174242532066842"><wsu:Created>2025-03-19T23:02:00.668Z</wsu:Created><wsu:Expires>2025-03-20T15:42:00.668Z</wsu:Expires></wsu:Timestamp><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-BD40368ECABC33A9ED174242532063237">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</wsse:BinarySecurityToken><ds:Signature Id="SIG-BD40368ECABC33A9ED174242532066441" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="wsa soap wcf" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI="#id-BD40368ECABC33A9ED174242532063240"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="soap wcf" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>qJh6cLlCnqq3wbelPQpLrHWjF1DckDtAd6nImSnuk0A=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>QfUTEIbjYSlsBrTjWPwzciZvY/je5La75j8yZrRhxUDHqYHt/09erTS6o6Cd8kMFg4cLoleY1VF1P0xiFMLJCIQYvb9TKYmQPuV2y4vw2B7fAkKNRxSW5JRjeIaAWN3WZ3XjIZiKZMzNKXKVLuM6hKNQ1mtnKBHqc3QpRikmekRwpJ7hDACB+LCbwHQywG9aAdaKzELHO3zzc1khju1YvcRb+eN9Dll7I0CVSX7RUklUfdUtdcyumZPmsgRmPMAZp0PG9owrbOd24tLKDD8QJQM9duNrv+EghPzsBmhYe70CzVlJ7Q3JtiWPctn6O5+Skb2DIsSuyJ6+wkyMNXfdVQ==</ds:SignatureValue><ds:KeyInfo Id="KI-BD40368ECABC33A9ED174242532063238"><wsse:SecurityTokenReference wsu:Id="STR-BD40368ECABC33A9ED174242532063239"><wsse:Reference URI="#X509-BD40368ECABC33A9ED174242532063237" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature></wsse:Security><wsa:Action>http://wcf.dian.colombia/IWcfDianCustomerServices/SendBillSync</wsa:Action><wsa:To wsu:Id="id-BD40368ECABC33A9ED174242532063240" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">https://vpfe.dian.gov.co/WcfDianCustomerServices.svc</wsa:To></soap:Header>'+;
        '<soap:Body>' + ;
        '<wcf:SendBillSync>' + ;
        '<wcf:fileName>' + cNomZip +'</wcf:fileName>' + ;
        '<wcf:contentFile>' + cFacturaXml + '</wcf:contentFile>' + ;
        '</wcf:SendBillSync>' + ;
        '</soap:Body>' + ;
        '</soap:Envelope>'


   //  HB_MEMOWRIT( "PRUEBA.XML", cXmlStr )

   // Establecer cabeceras requeridas por el WS

   aadd( aHeader, "Content-Type: application/soap+xml; charset=UTF-8" )
   aadd( aHeader, "SOAPaction=http://wcf.dian.colombia/IWcfDianCustomerServices/SendBillSync" )
   aadd( aHeader, "Connection: Keep-Alive" )
   aadd( aHeader, "Cache-Control: private" )

   hCurl     := curl_easy_init()
   curl_easy_setopt( hCurl, HB_CURLOPT_URL, cUrl )
   curl_easy_setopt( hCurl, HB_CURLOPT_SSL_VERIFYPEER, .f. )
   curl_easy_setopt( hCurl, HB_CURLOPT_SSL_VERIFYHOST, .f. )
   curl_easy_setopt( hCurl, HB_CURLOPT_SSLCERT, cCertFile )
   curl_easy_setopt( hCurl, HB_CURLOPT_SSLCERTTYPE, cCertType )
   curl_easy_setopt( hCurl, HB_CURLOPT_KEYPASSWD, cCertPass )

   curl_easy_setopt( hCurl, HB_CURLOPT_POSTFIELDS, cXmlStr )
   curl_easy_setopt( hCurl, HB_CURLOPT_DL_BUFF_SETUP )
   curl_easy_setopt( hCurl, HB_CURLOPT_HTTPHEADER, aHeader )


   // echo server, para depurar .T.
   curl_easy_setopt( hCurl, HB_CURLOPT_VERBOSE, .T. )
   curl_easy_setopt( hCurl, HB_CURLOPT_ENCODING, "" )
   curl_easy_setopt( hCurl, HB_CURLOPT_MAXREDIRS, 10 )
   curl_easy_setopt( hCurl, HB_CURLOPT_CUSTOMREQUEST, "POST" )

   // No reutilizar conexiones
   curl_easy_setopt( hCurl, HB_CURLOPT_FRESH_CONNECT, .T.)
   curl_easy_setopt( hCurl, HB_CURLOPT_FORBID_REUSE, .T.)
 

   // Conexion
   nError    := curl_easy_perform( hCurl )
   cResponse := curl_easy_dl_buff_get( hCurl )

   if nError == 0
      hb_memowrit( "respuesta.xml", cResponse )
   else
      MSGINFO( curl_easy_strerror( nError ) )
   endif

   curl_easy_cleanup( hCurl )
   curl_global_cleanup()

return
Posts: 411
Joined: Sun Jan 31, 2010 03:30 PM

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Posted: Thu Mar 20, 2025 12:51 AM
requiero que el header despues de firmado quede asi :
	<soap:Header
		xmlns:wsa="http://www.w3.org/2005/08/addressing">
		<wsse:Security soap:mustUnderstand="true"
			xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
			xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
			<wsu:Timestamp wsu:Id="TS-938EB38DEFEBD26652174243018444012">
				<wsu:Created>2025-03-20T00:23:04.440Z</wsu:Created>
				<wsu:Expires>2025-03-20T17:03:04.440Z</wsu:Expires>
			</wsu:Timestamp>
			<wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-938EB38DEFEBD2665217424301843837">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</wsse:BinarySecurityToken>
			<ds:Signature Id="SIG-938EB38DEFEBD26652174243018442611"
				xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
				<ds:SignedInfo>
					<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
						<ec:InclusiveNamespaces PrefixList="wsa soap wcf"
							xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
						</ds:CanonicalizationMethod>
						<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
						<ds:Reference URI="#id-938EB38DEFEBD26652174243018438610">
							<ds:Transforms>
								<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
									<ec:InclusiveNamespaces PrefixList="soap wcf"
										xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
									</ds:Transform>
								</ds:Transforms>
								<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
								<ds:DigestValue>buQfAhluXZsKUO9HlDLCSFgl0MeGNpeG7bWGlApVNL8=</ds:DigestValue>
							</ds:Reference>
						</ds:SignedInfo>
						<ds:SignatureValue>GMgcY6ADnFAlGnWNQqOsOOQDd+WicYhZwabfkWsZlcNiUacKLvpr7+K1akLjls7ZaP6XNj/3LwQOcFWB+it5rwuVbyC7DMGNYDMVih99dz6HiChUggeTZdDO7t+G2e/VHr+BQobqsrhn1Pj4X/WbFu+MFPtwRralxyZvCe/SamkidyQb2aNyXXI6PHZsW507o7aGmAF/MFYAk4b/8xf6QXYnRrkYUWoAsOjAO2vzILl8Lk7ppBCbYa6Q4AUzdsCnDqr9iKgC+nXw40gQ0Q/EeOzV/oSQ9VQDkLcDrYvWG8hsjFYBmF4F+AGfwC5yovuljrvDM82sG+D3yNMcLv+Ofg==</ds:SignatureValue>
						<ds:KeyInfo Id="KI-938EB38DEFEBD2665217424301843858">
							<wsse:SecurityTokenReference wsu:Id="STR-938EB38DEFEBD2665217424301843859">
								<wsse:Reference URI="#X509-938EB38DEFEBD2665217424301843837" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
							</wsse:SecurityTokenReference>
						</ds:KeyInfo>
					</ds:Signature>
				</wsse:Security>
				<wsa:Action>http://wcf.dian.colombia/IWcfDianCustomerServices/SendBillSync</wsa:Action>
				<wsa:To wsu:Id="id-938EB38DEFEBD26652174243018438610"
					xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">https://vpfe.dian.gov.co/WcfDianCustomerServices.svc
				</wsa:To>
	</soap:Header>
Posts: 16
Joined: Tue Jan 07, 2025 11:59 AM

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Posted: Thu Mar 20, 2025 11:52 AM
La firma de documentos XML es un tema complejo, necesitas conocer muy bien los requerimientos de la DIAN

Puedes revisar el post que publiqu茅 para entender un poco los formatos a que te enfrentas

https://forums.fivetechsupport.com/viewtopic.php?t=44888

Como he comentado en otras ocasiones, con Chilkat puedes hacer casi de todo, lo que no consigues con las herramientas disponibles en FiveWin y harbour, puedes conseguirlo con Chilkat, adem谩s tienes ejemplos en c贸digo foxpro o vbasic muy parecido a nuestro codigo

https://tools.chilkat.io/soap_wsdl_generate_code?url=https%3A%2F%2Fvpfe-hab.dian.gov.co%2FWcfDianCustomerServices.svc%3Fwsdl&binding=WSHttpBinding_IWcfDianCustomerServices&op=GetExchangeEmails&lang=foxpro&mr=f
Fivewinner desde 1.9, programador PHP y Javascript, PWA & HTML5 evangelista
Posts: 411
Joined: Sun Jan 31, 2010 03:30 PM

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Posted: Thu Mar 20, 2025 12:09 PM

Buen d铆a...

Si he le铆do tu post...

Y por practicidad creo que la soluci贸n es con Chilkat ... seria ver si en el foro podemos comprar la licencia para 4 programadores---

? la lib Chilkat , se puede usar directamente en (x)harbour o tocar铆a en c ?

Gracias...

Posts: 411
Joined: Sun Jan 31, 2010 03:30 PM

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Posted: Thu Mar 20, 2025 01:53 PM
Ya estoy usando la dll demo de clilkat.. pero no veo como pasar el certificado p12 para la firma..
FUNCTION CLILKAT(cFilNam, xDocB64)


LOCAL loXml
LOCAL lcSoapRequestBody
LOCAL lcEndpoint
LOCAL lcSoapAction
LOCAL lcContentType
LOCAL loHttp
LOCAL loResp
LOCAL loResponseXml
LOCAL lnStatusCode
LOCAL lcV_string
LOCAL lcIsValid
LOCAL lcStatusCode
LOCAL lcStatusDescription
LOCAL lcStatusMessage
LOCAL lcXmlBase64Bytes
LOCAL lcXmlBytes
LOCAL lcXmlDocumentKey
LOCAL lcXmlFileName
local cFilXml

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml')
loXml = CreateObject('Chilkat.Xml')
loXml:Tag = "soap:Envelope"
loXml:AddAttribute("xmlns:soap","http://www.w3.org/2003/05/soap-envelope")
loXml:AddAttribute("xmlns:wcf","http://wcf.dian.colombia")
loXml:UpdateChildContent("soap:Header","")
loXml:UpdateChildContent("soap:Body|wcf:SendBillSync|wcf:fileName",cFilNam)
loXml:UpdateChildContent("soap:Body|wcf:SendBillSync|wcf:contentFile",xDocB64)

* In a SOAP HTTP request, including the XML declaration (<?xml version="1.0" encoding="UTF-8"?>) in the XML body is generally not required.
loXml:EmitXmlDecl = 0
lcSoapRequestBody = loXml:GetXml()

lcEndpoint = "https://vpfe-hab.dian.gov.co/WcfDianCustomerServices.svc"
lcSoapAction = "http://wcf.dian.colombia/IWcfDianCustomerServices/SendBillSync"
*  For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"
lcContentType = "application/soap+xml"

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http')
loHttp = CreateObject('Chilkat.Http')

loHttp:ClearHeaders()
loHttp:SetRequestHeader("Content-Type",lcContentType)
loHttp:SetRequestHeader("SOAPAction",lcSoapAction)

loResp = loHttp:PostXml(lcEndpoint,lcSoapRequestBody,"utf-8")
IF (loHttp:LastMethodSuccess = 0)
    alert( loHttp:LastErrorText)
    alert( "Failed to send SOAP request." )
    RELEASE loXml
    RELEASE loHttp
    CANCEL
ENDIF

* Get the XML response body.
* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml')
loResponseXml = CreateObject('Chilkat.Xml')
loResp:GetBodyXml(loResponseXml)

lnStatusCode = loResp:StatusCode
alert( "response status code: " + STR(lnStatusCode) )

RELEASE loResp

cFilXml :=  loResponseXml:GetXml()

hb_memowrit( "respuestaCli.xml", cFilXml )

* If the status code does not indicate succcess, then show the response XML,
* which probably contains error information.
IF (lnStatusCode <> 200)
    alert( cFilXml )
    RELEASE loXml
    RELEASE loHttp
    RELEASE loResponseXml
    CANCEL
ENDIF


* Parse the successful SOAP response XML.

* This is a sample of the response XML, but the namespace prefixes will be different.
* We can parse the result using "*" for the namespace prefixes (see below).

lcV_string = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:ErrorMessage|*:string")
lcIsValid = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:IsValid")
lcStatusCode = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:StatusCode")
lcStatusDescription = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:StatusDescription")
lcStatusMessage = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:StatusMessage")
lcXmlBase64Bytes = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:XmlBase64Bytes")
lcXmlBytes = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:XmlBytes")
lcXmlDocumentKey = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:XmlDocumentKey")
lcXmlFileName = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:XmlFileName")

RELEASE loXml
RELEASE loHttp
RELEASE loResponseXml


RETURN cFilXml
Posts: 411
Joined: Sun Jan 31, 2010 03:30 PM

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Posted: Thu Mar 20, 2025 08:18 PM

Ya pude firmar el xml de envio a la dian con CHILKAT - ActiveX

Ahora estoy mirando con firmar un xml tipo invoice (factura o notas electronicas)

Posts: 411
Joined: Sun Jan 31, 2010 03:30 PM

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Posted: Fri Mar 21, 2025 11:43 AM

Buen d铆a...

Estuve trabajando el ActiveX de CHILKAT y ya logre los 4 procesos cr铆ticos para enviar facturas electr贸nicas a la DIAN Colombia

  1. Creaci贸n de XML

  2. Firmar XML : INVOICE, CREDITNOTE, ETC

  3. Firmar XML de petici贸n o ejecuci贸n de WS DIAN

  4. Envi贸 de petici贸n o ejecuci贸n de WS DIAN (para no usar LIBCURL)

Posts: 1446
Joined: Mon Oct 10, 2005 02:38 PM

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Posted: Fri Mar 21, 2025 02:23 PM
russimicro wrote: Buen d铆a...

Estuve trabajando el ActiveX de CHILKAT y ya logre los 4 procesos cr铆ticos para enviar facturas electr贸nicas a la DIAN Colombia

1. Creaci贸n de XML
2. Firmar XML : INVOICE, CREDITNOTE, ETC
3. Firmar XML de petici贸n o ejecuci贸n de WS DIAN
4. Envi贸 de petici贸n o ejecuci贸n de WS DIAN (para no usar LIBCURL)
Hola a todos,

No estoy muy al corriente del proceso para Colombia pero:

1. Creaci贸n de XML -->> precisa de firma?
2. Firmar XML : INVOICE, CREDITNOTE, ETC -->> Para Espa帽a creo que se puede hacer por comandos con Autofirma, creo que podr铆a valer para Colombia (se trata de firmar un fichero con una firma digital, entiendo).
3. Firmar XML de petici贸n o ejecuci贸n de WS DIAN -->> Esto lo desconozco.
4. Envi贸 de petici贸n o ejecuci贸n de WS DIAN (para no usar LIBCURL) -->> Yo los env铆o con CURL.EXE bajado de la red; por tanto me desvinculo del programa por si hay actualizaciones futuras de Windows o de no s茅 qu茅, y fuercen a recompilar el programa; ser铆a suficiente con buscar la versi贸n adecuada de CURL.EXE

Cuantas m谩s utilidades est茅n fuera del programa mejor.
Hay qui茅n a煤n est谩 usando mi programa de hace 23 a帽os (en pesetas y euros), gracias a no tener cosas 'complicadas' en 茅l. Hoy en d铆a compilado con FWH 25.01 32b y quiz谩s este a帽o a 64b. Pero no me pidan cosas bonitas.

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 670
Joined: Wed Oct 19, 2005 06:41 PM

Re: LIB CURL + HARBOUR + BCC 7.7 (AHORA SOLUCION CHILKAT - ACTIVEX)

Posted: Fri Mar 21, 2025 06:00 PM

buenas tardes para mi la clave esta en firmar el XML con una firma electronica el resto ya hay ejemplos sencillos con harbour

en mi pais Ecuador yo tuve que comprar un componente activex hecho en c# que me firma

Seria de agradecer si ponen ejemplos con la aotufirma con chilkat con openssl ya que si podemos controlar nosotros todo el rpoceso mucho mejor ya que a veces hay cambios inesperados de la parte tributaria y toca iniciar de nuevo con otro producto en firmado de xml

saludos

y se agradece de antemano

Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Posts: 411
Joined: Sun Jan 31, 2010 03:30 PM

Re: LIB CURL + HARBOUR + BCC 7.7 (AHORA SOLUCION CHILKAT - ACTIVEX)

Posted: Fri Mar 21, 2025 07:32 PM

Continue the discussion