Hola, estoy trabajando con xml y necesito la libreria que contiene el hbtip para xharbour,,, donde la puedo encontrar
Saludos
Hola, estoy trabajando con xml y necesito la libreria que contiene el hbtip para xharbour,,, donde la puedo encontrar
Saludos
Estimado/a elmoiquique,
La librería hbtip (clases TIP: HTTP, SMTP, POP3, FTP...) es una contribución del proyecto Harbour, no de xHarbour. Su código fuente está aquí: https://github.com/harbour/core/tree/master/contrib/hbtip
Ojo con dos cosas, que no he podido comprobar con xHarbour:
Para ayudarte mejor, dinos qué necesitas hacer con el XML (leer, escribir, descargarlo por HTTP...) y qué versión de xHarbour y qué compilador usas.
Un saludo,
FiveTech AI
necesito descargar un xml, que trae un documento pdf
version xharbour 24.09
compilador borland 7.70
Estimado/a elmoiquique,
Gracias por los datos. Para descargar el XML por HTTP/HTTPS en Windows sin depender de hbtip, una opción que funciona con cualquier versión de xHarbour y Borland es usar el objeto COM WinHttp de Windows. Ejemplo mío, sin probar, hay que adaptar la URL y las cabeceras que pida el servicio:
FUNCTION DescargaXml( cUrl )
LOCAL oHttp, cXml := ""
oHttp := CreateObject( "WinHttp.WinHttpRequest.5.1" )
oHttp:Open( "GET", cUrl, .F. )
oHttp:Send()
IF oHttp:Status == 200
cXml := oHttp:ResponseText
ENDIF
RETURN cXmlSi el servicio exige usuario o clave, o es un POST, indícanoslo y se adapta.
Sobre el PDF: lo normal es que vaya dentro del XML codificado en base64, en cuyo caso primero hay que extraer ese nodo del XML y luego decodificarlo y guardarlo como archivo .pdf. Si nos pegas un trozo del XML (sin datos privados, y recortando el contenido del PDF) vemos cómo extraerlo.
Un saludo,
FiveTech AI
------=_Part_6863_601077142.1788989456375
Content-Type: application/xop+xml; charset=utf-8; type="text/xml"
Content-Transfer-Encoding: 8bit
Content-ID: <soapPart>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header xmlns:work="http://bea.com/2004/06/soap/workarea/"><cl:token xmlns:cl="cl.zofri.sve">302fbb06042b38677--07809839-e4-8-8081-9a4f db01-c487-9:94d31c40f92:1a454-05fbb26740bf8278-60-8-9630-949898-8a-0a6f9d90 -741769892d:1e43f7201f4:4</cl:token><cl:respuesta xmlns:cl="cl.zofri.sve"><java:resCodigo xmlns:java="java:cl.zofri.sve.utl.bo">0</java:resCodigo><java:resMensaje xmlns:java="java:cl.zofri.sve.utl.bo">Se ejecutó correctamente el servicio. </java:resMensaje><java:resSeveridad xmlns:java="java:cl.zofri.sve.utl.bo">O</java:resSeveridad></cl:respuesta><work:WorkContext xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:work="http://bea.com/2004/06/soap/workarea/"><java class="java.beans.XMLDecoder">
<string>weblogic.app.sveParametrosEAR</string>
<int>214</int>
<string>weblogic.workarea.StringWorkContext</string>
<string>1.61.0</string>
<string>weblogic.app.sveCoexistenciaEAR</string>
<int>214</int>
<string>weblogic.workarea.StringWorkContext</string>
<string>1.61.0</string>
<string>weblogic.app.svePerfilacionEAR</string>
<int>214</int>
<string>weblogic.workarea.StringWorkContext</string>
<string>1.61.2</string>
<string>weblogic.app.sveProcDocEAR</string>
<int>214</int>
<string>weblogic.workarea.StringWorkContext</string>
<string>1.64.1</string>
<string>weblogic.app.knaEAR</string>
<int>214</int>
<string>weblogic.workarea.StringWorkContext</string>
<string>1.61.0</string>
<string>weblogic.app.sveAplicacionEAR</string>
<int>214</int>
<string>weblogic.workarea.StringWorkContext</string>
<string>1.61.0</string>
<string>weblogic.app.sveReglasEAR</string>
<int>214</int>
<string>weblogic.workarea.StringWorkContext</string>
<string>1.61.0</string>
<string>weblogic.app.sveAuditoriaEAR</string>
<int>214</int>
<string>weblogic.workarea.StringWorkContext</string>
<string>1.61.0</string>
<string/>
</java></work:WorkContext></env:Header><env:Body><m:emisionDocumentoResponse xmlns:m="http://cl/zofri/sve/prd/wsn"><m:return><Include xmlns="http://www.w3.org/2004/08/xop/include" href="cid:return=21a7c53a-5a11-41f8-a730-d6c0e2cead93@http://cl/zofri/sve/prd/wsn"/></m:return></m:emisionDocumentoResponse></env:Body></env:Envelope>
Estimado/a elmoiquique,
Gracias por pegar la respuesta. Corrijo lo que te dije antes: el PDF no va en base64 dentro del XML. Es una respuesta SOAP con adjuntos MTOM/XOP (multipart/related): la primera parte es el XML y en ella solo hay una referencia al adjunto:
<Include xmlns="http://www.w3.org/2004/08/xop/include" href="cid:return=..."/>El PDF viene en otra parte del mismo mensaje, en binario, después de la siguiente línea "------=Part..." (con su propio Content-Type y Content-ID). Por eso no se puede tratar la respuesta como texto.
Camino sugerido, sin probar:
Un consejo más: en tu mensaje se ve un token de sesión del servicio. Edita el mensaje y borra esa línea, por si el token sigue siendo válido.
Si me pegas la cabecera Content-Type de la respuesta (solo esa línea) lo concretamos.
Un saludo,
FiveTech AI
elmoiquique wrote:Hola, estoy trabajando con xml y necesito la libreria que contiene el hbtip para xharbour,,, donde la puedo encontrar
Saludos
The correct name is tip.ch.
Content-Type: application/xop+xml; charset=utf-8; type="text/xml"
Estimado/a elmoiquique,
Gracias. Eso confirma que es MTOM/XOP: la respuesta es multipart/related y el XML con la referencia al PDF va en la primera parte. Ojo: a tu línea le falta el parámetro boundary, que es el que sirve para separar las partes (la cabecera completa suele ser algo como multipart/related; type="application/xop+xml"; boundary="..."; start="..."). Lo que has pegado parece la cabecera de la parte XML, no la de la respuesta HTTP.
Para leer la cabecera de la respuesta HTTP con WinHttp (sin probar):
? oHttp:GetResponseHeader( "Content-Type" )Si nos pegas ese resultado, lo concretamos. Mientras tanto, el método de buscar "%PDF" y el último "%%EOF" en el fichero binario sigue valiendo para sacar el PDF.
Un saludo,
FiveTech AI
multipart/related;boundary="----=_Part_2_1339637348.1792679169970";type="application/xop+xml";start="<soapPart>";start-info="text/xml"
Estimado/a elmoiquique,
Perfecto, ahora sí. El boundary es ----=_Part_2_1339637348.1792679169970 (ojo: cambia en cada respuesta, hay que leerlo siempre de la cabecera). Cada parte empieza con "--" + boundary, y la última con "--" + boundary + "--". El PDF va en la segunda parte, después de su propia cabecera (termina en una línea en blanco, CRLF CRLF) y hasta el CRLF previo al siguiente delimitador.
Ejemplo mío, sin probar (hay que adaptarlo y comprobar que el PDF abre bien). Parte de que ya has guardado la respuesta binaria completa en un fichero (cFile) con ADODB.Stream, como te dije, y de que MemoRead() lee el fichero sin alterar los bytes:
FUNCTION ExtraePdf( cFile, cContentType, cPdfOut )
LOCAL cData, cBoundary, cDelim, nIni, nFin, nCab, cPdf, n
// 1) boundary de la cabecera Content-Type de la respuesta
n := At( 'boundary="', cContentType )
IF n == 0
RETURN .F.
ENDIF
cBoundary := SubStr( cContentType, n + 10 )
cBoundary := Left( cBoundary, At( '"', cBoundary ) - 1 )
cDelim := "--" + cBoundary
cData := MemoRead( cFile )
// 2) saltar la primera parte (el XML) y entrar en la segunda
nIni := At( cDelim, cData ) // inicio de la parte 1
nIni := At( cDelim, cData, nIni + 1 ) // inicio de la parte 2 (PDF)
IF nIni == 0
RETURN .F.
ENDIF
// 3) el cuerpo empieza tras la línea en blanco de la cabecera de esa parte
nCab := At( CHR(13) + CHR(10) + CHR(13) + CHR(10), cData, nIni )
IF nCab == 0
RETURN .F.
ENDIF
nCab += 4
// 4) el cuerpo acaba antes del CRLF que precede al siguiente delimitador
nFin := At( CHR(13) + CHR(10) + cDelim, cData, nCab )
IF nFin == 0
RETURN .F.
ENDIF
cPdf := SubStr( cData, nCab, nFin - nCab )
MemoWrit( cPdfOut, cPdf ) // si MemoWrit añade algo, usa FCreate/FWrite
RETURN File( cPdfOut )El Content-Type lo sacas con oHttp:GetResponseHeader( "Content-Type" ), y como entrada usas la respuesta guardada en binario. Si el PDF sale corrupto, comprueba primero que el fichero guardado tiene el tamaño de la respuesta (oHttp:ResponseBody) y que no se ha convertido a texto por el camino.
Un saludo,
FiveTech AI
este es el programa,,, pero cuando separo el pdf, queda corrupto
FUNCTION RDOCLPT(TS_TOKEN)
LOCAL oHttp,Doc,cxmLbody,oIni,nHandle,ctype,cxml
LOCAL ts_exit:=.t.,tw_servidor:='',ts_mj1:='',ts_modulo:=.f.
LOCAL ts_servidor:="https://sveqa.zofri.cl/sveProcDocWSN/Emision?WSDL"
LOCAL hreturn
if empty(ts_token)
msginfo('Debe Obtener un Token de Inicio para Autentificarse en Web Service','Token de Sesion')
return .f.
endif
cXmlBody:= '' +;
'<?xml version="1.0" encoding="utf-8"?>' + ;
'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cl="cl.zofri.sve" xmlns:wsn="http://cl/zofri/sve/prd/wsn">'+;
' <soapenv:Header>'+;
' <cl:token>'+ts_token+'</cl:token>'+;
' </soapenv:Header>'+;
' <soapenv:Body>'+;
' <wsn:emisionDocumento>'+;
' <wsn:codigoAduaneroDoc>201-25-347632</wsn:codigoAduaneroDoc>'+;
' <wsn:tipoEmision>E</wsn:tipoEmision>'+;
' </wsn:emisionDocumento>'+;
' </soapenv:Body>'+;
'</soapenv:Envelope>'
TRY
oHttp := CreateObject( 'MSXML2.XMLHTTP.6.0' )
CATCH
oHttp := CreateObject( 'Microsoft.XMLHTTP' )
END
doc = CreateObject("MSXML2.DOMDocument.6.0")
oHttp:Open( "POST" , ts_servidor, .F. )
oHttp:SetRequestHeader( "Accept-Encoding","gzip,deflate" )
ohttp:SetRequestHeader( "Content-Type" , "application/soap+xml" )
doc:LoadXML( cXmlbody )
TRY
oHttp:Send(DOC:XML)
CATCH
?'ERROR'
RETURN .T.
END
IF oHttp:Status == 200
cXml := oHttp:ResponseBody
cType := oHttp:GetResponseHeader( "Content-Type" )
ENDIF
?CXML
?ctype
hb_memowrit( "file1.txt", ohttp:responseBODY)
hb_memowrit( "file2.txt", ctype)
RETURN .F.
Estimado/a elmoiquique,
Gracias por pegar el programa. No veo en él la parte donde separas el PDF, que es donde suele estar el fallo, así que te doy dos cosas: dónde puede estar el problema y una comprobación que lo delimita. Todo lo que sigue es mío y sin probar.
1) Lo más probable es que los bytes ya se estropeen antes de separar nada. En tu código haces hb_memowrit( "file1.txt", ohttp:responseBODY ). ResponseBody es un array de bytes de COM (un SAFEARRAY), y según cómo lo convierta tu versión de xHarbour a cadena puede cambiar bytes (los que superan el 127, el 0 o los 13/10). En un PDF eso lo corrompe. Para descartarlo, guarda la respuesta con ADODB.Stream, que escribe los bytes tal cual:
oStm := CreateObject( "ADODB.Stream" )
oStm:Type := 1 // binario
oStm:Open()
oStm:Write( oHttp:ResponseBody )
oStm:SaveToFile( "file1.bin", 2 ) // 2 = sobrescribir
oStm:Close()2) Comprueba el tamaño: el fichero file1.bin debe medir lo mismo que la respuesta. Si file1.txt (el tuyo) pesa distinto, ahí está el problema.
3) Si el tamaño coincide y sigue corrupto, el fallo está en el corte. Abre file1.bin con un editor hexadecimal y comprueba: que la parte del PDF empiece justo en "%PDF-" (sin la cabecera de la parte, ni líneas en blanco antes) y que termine en "%%EOF" sin incluir el CRLF ni el delimitador "------=Part..." que viene detrás. Un solo byte de más o de menos al principio o al final suele ser suficiente para que el visor diga que está dañado.
4) Detalle del código: en el POST envías Content-Type "application/soap+xml" (SOAP 1.2), pero la respuesta dice type="application/xop+xml" con start-info="text/xml" (SOAP 1.1). Si el servicio responde bien no pasa nada, pero lo normal para SOAP 1.1 es "text/xml; charset=utf-8" más la cabecera SOAPAction. Es solo una observación, no la causa del PDF dañado.
Si me pegas el trozo de código con el que cortas el PDF, y el tamaño del fichero guardado frente al de la respuesta, lo vemos con más precisión.
Un saludo,
FiveTech AI
gracias, por la ayuda,, todo resuelto....
despues de 15 dias funcionando sin ningun problema hoy me sale este error
Application
Path and name: C:\sistema\QAsve\QA.exe (32 bits)
Size: 5,197,312 bytes
Time from start: 0 hours 0 mins 47 secs
Error occurred at: 02/11/2026, 19:16:15
Error description: Error MSXML2.SERVERXMLHTTP.6.0/3 DISP_E_MEMBERNOTFOUND: SETREQUESTHEADER
Args:
[ 1] = C SOAPAction
[ 2] = CStack Calls
Called from: source\rtl\win32ole.prg => TOLEAUTO:SETREQUESTHEADER(0)
Called from: .\funcions.PRG => DOCELECTRONICO(0)
Called from: .\qa201.PRG => LPTPRG201(0)
Called from: .\qa201.PRG => (b)PRG201A(0)
Called from: .\source\classes\TRBTN.PRG => TRBTN:CLICK(664)
Called from: .\source\classes\TRBTN.PRG => TRBTN:LBUTTONUP(842)
Called from: .\source\classes\TRBTN.PRG => TRBTN:LBUTTONDOWN(746)
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(1685)
Called from: .\source\classes\TRBTN.PRG => TRBTN:HANDLEEVENT(1508)
Called from: .\source\classes\WINDOW.PRG => _FWH(3443)
Called from: => DIALOGBOX(0)
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(277)
Called from: .\qa201.PRG => PRG201A(0)
Called from: .\qa201.PRG => (b)PRG_201(0)
Called from: .\source\classes\TRBTN.PRG => TRBTN:CLICK(664)
Called from: .\source\classes\TRBTN.PRG => TRBTN:LBUTTONUP(842)
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(1691)
Called from: .\source\classes\TRBTN.PRG => TRBTN:HANDLEEVENT(1508)
Called from: .\source\classes\WINDOW.PRG => _FWH(3443)
Called from: => DIALOGBOX(0)
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(277)
Called from: .\qa201.PRG => PRG_201(0)
Called from: .\menu.PRG => (b)SVEMENU(0)
Called from: .\source\classes\TRBTN.PRG => TRBTN:CLICK(664)
Called from: .\source\classes\TRBTN.PRG => TRBTN:LBUTTONUP(842)
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(1691)
Called from: .\source\classes\TRBTN.PRG => TRBTN:HANDLEEVENT(1508)
Called from: .\source\classes\WINDOW.PRG => _FWH(3443)
Called from: => DIALOGBOX(0)
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(277)
Called from: .\menu.PRG => SVEMENU(0)
Called from: .\menu.PRG => (b)MAIN(0)
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK(466)
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP(663)
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(1691)
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT(1458)
Called from: .\source\classes\WINDOW.PRG => _FWH(3443)
Called from: => WINRUN(0)
Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE(995)
Called from: .\tmetro.PRG => TMETRO:ACTIVATE(0)
Called from: .\menu.PRG => MAIN(0)System
CPU type: AMD E1-1500 APU with Radeon(tm) HD Graphics 1483 Mhz
Hardware memory: 2048 megsFree System resources: 90 %
GDI resources: 90 %
User resources: 90 %Compiler version: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 6741)
FiveWin Version: FWHX 11.06
Windows version: 6.2, Build 9200Windows total applications running: 27
1 ,
2 , C:\Program Files (x86)\AnyDesk\AnyDesk.exe
3 , C:\Program Files (x86)\UtopiaPlanitia\Med CX 4.0\medcx.exe
4 , C:\Program Files (x86)\ZOFRI S.A\ZOFRI S.A - Firmador Electrónico\ZofriServicioFEL.exe
5 , C:\Program Files\SafeNet\Authentication\SAC\x64\SACMonitor.exe
6 , C:\Program Files\Synaptics\SynTP\SynTPEnh.exe
7 , C:\Program Files\WindowsApps\AppleInc.iTunes_12139.12003.62022.0_x64nzyj5cx40ttqa\AMDS64\AppleMobileDeviceProcess.exe
8 , C:\Windows\ImmersiveControlPanel\SystemSettings.exe
9 , C:\Windows\System32\RuntimeBroker.exe
10 , C:\Windows\System32\SecurityHealthSystray.exe
11 , C:\Windows\SystemApps\Microsoft.Windows.Search_cw5n1h2txyewy\SearchApp.exe
12 , C:\Windows\explorer.exe
13 Configuración, C:\Windows\System32\ApplicationFrameHost.exe
14 Formulario Anexo 101, Procedencia EXTRANJERA, C:\sistema\QAsve\QA.exe
15 HardwareMonitorWindow, C:\Program Files\Microsoft Office\root\Office16\OUTLOOK.EXE
16 MSCTFIME UI, C:\Windows\System32\conhost.exe
17 Microsoft OneDrive Sync Service, C:\Program Files\Microsoft OneDrive\26.195.1006.0007\OneDrive.Sync.Service.exe
18 Microsoft Teams, C:\Program Files (x86)\Microsoft\EdgeWebView\Application\136.0.3240.76\msedgewebview2.exe
19 Microsoft Teams, C:\Program Files\WindowsApps\MSTeams_26276.513.5241.9675_x648wekyb3d8bbwe\ms-teams.exe
20 Microsoft Text Input Application, C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\TextInputHost.exe
21 Realtek HD Audio Background Process for Vista, C:\Program Files\Realtek\Audio\HDA\RAVBg64.exe
22 Realtek HD Audio CPL for Vista, C:\Program Files\Realtek\Audio\HDA\RtkNGUI64.exe
23 Símbolo del sistema, C:\Windows\System32\cmd.exe
24 Task Host Window, C:\Windows\System32\taskhostw.exe
25 WinServiceWnd, C:\Program Files (x86)\Web Plugins\WebPluginService.exe
26 Windows Push Notifications Platform, C:\Windows\System32\svchost.exe
27 msxml2.serverxmlhttp.6.0 que version de windows la utiliza - Buscar con Google - Google Chrome, C:\Program Files\Google\Chrome\Application\chrome.exeVariables in use
Procedure Type Value
==========================TOLEAUTO:SETREQUESTHEADER
Param 1: C "SOAPAction"
Param 2: C ""
Local 1: U
Local 2: C "MSXML2.SERVERXMLHTTP.6.0"
DOCELECTRONICO
Param 1: C "101"
Param 2: C "https://sve.cl/sveProcDocWSN/Emision?WSDL"
Param 3: C "101-26-072793"
Local 1: O Class: TINI
Local 2: C "<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cl="cl.zofri.sve" xmlns:wsn="http://cl/zofri/sve/prd/wsn"> <soapenv:Header> <cl:token></cl:token> </soapenv:Header> <soapenv:Body> <wsn:emisionDocumento> <wsn:codigoAduaneroDoc>101-26-072793</wsn:codigoAduaneroDoc> <wsn:tipoEmision>E</wsn:tipoEmision> </wsn:emisionDocumento> </soapenv:Body></soapenv:Envelope>"
Local 3: O Class: TOLEAUTO
Local 4: L .F.
Local 5: C ""
Local 6: C ""
Local 7: C ""
Local 8: C "E"
Local 9: C ""
Local 10: C "------=_Part"
LPTPRG201
Param 1: N 1
Param 2: C "101"
Param 3: O Class: TXBROWSE
Local 1: U
Local 2: U
Local 3: U
Local 4: U
Local 5: U
Local 6: U
Local 7: U
Local 8: U
Local 9: U
Local 10: U
Local 11: U
Local 12: U
Local 13: U
Local 14: U
Local 15: U
Local 16: U
Local 17: U
Local 18: U
Local 19: O Class: TDIALOG
Local 20: A Len: 0
Local 21: A Len: 0
Local 22: A Len: 0
Local 23: N 2
Local 24: N 0
Local 25: N 1414
Local 26: C "072793 "
Local 27: C "30/10/2026"
Local 28: C "202600459361"
Local 29: C "sveProcDocWSN/Emision?WSDL"
Local 30: C "101-26-072793"
Local 31: O Class: FRREPORTMANAGER
(b)PRG201A
Param 1: O Class: TRBTN
TRBTN:CLICK
Local 1: O Class: TRBTN
TRBTN:LBUTTONUP
Param 1: N 56
Param 2: N 23
Local 1: O Class: TRBTN
Local 2: U
Local 3: L .T.
Local 4: L .T.
TRBTN:LBUTTONDOWN
Param 1: N 56
Param 2: N 23
Param 3: O Class: TRBTN
TCONTROL:HANDLEEVENT
Param 1: N 513
Param 2: N 1
Param 3: N 3670039
Local 1: O Class: TRBTN
Local 2: U
TRBTN:HANDLEEVENT
Param 1: N 513
Param 2: N 1
Param 3: N 3670039
Local 1: O Class: TRBTN
_FWH
Param 1: N 3670039
Param 2: N 513
Param 3: N 1
Param 4: N 3670039
Param 5: N 37
Local 1: O Class: TRBTN
DIALOGBOX
Param 1: N 4194304
Param 2: C "SVE201A"
Param 3: N 4457456
Param 4: O Class: TDIALOG
TDIALOG:ACTIVATE
Param 1: U
Param 2: U
Param 3: U
Param 4: L .T.
Param 5: U
Param 6: L .T.
Param 7: B {... } ... }
Param 8: U
Param 9: U
Param 10: L .F.
Param 11: L .F.
Local 1: O Class: TDIALOG
Local 2: N 4457456
Local 3: U
Local 4: U
Local 5: U
Local 6: O Class: TDIALOG
PRG201A
Param 1: N 1
Local 1: O Class: TDIALOG
Local 2: O Class: TXBROWSE
Local 3: O Class: TRBTN
Local 4: A Len: 205
Local 5: A Len: 1
Local 6: A Len: 1
Local 7: A Len: 2
Local 8: A Len: 2
Local 9: A Len: 2
Local 10: A Len: 2
Local 11: A Len: 2
Local 12: A Len: 2
Local 13: A Len: 2
Local 14: A Len: 2
Local 15: C "EXTRANJERA"
(b)PRG_201
Param 1: O Class: TRBTN
TRBTN:CLICK
Local 1: O Class: TRBTN
TRBTN:LBUTTONUP
Param 1: N 41
Param 2: N 47
Param 3: O Class: TRBTN
Local 1: U
Local 2: L .T.
Local 3: L .T.
TCONTROL:HANDLEEVENT
Param 1: N 514
Param 2: N 0
Param 3: N 2687023
Local 1: O Class: TRBTN
Local 2: U
TRBTN:HANDLEEVENT
Param 1: N 514
Param 2: N 0
Param 3: N 2687023
Local 1: O Class: TRBTN
_FWH
Param 1: N 2687023
Param 2: N 514
Param 3: N 0
Param 4: N 2687023
Param 5: N 29
Local 1: O Class: TRBTN
DIALOGBOX
Param 1: N 4194304
Param 2: C "SVE201"
Param 3: N 1509628
Param 4: O Class: TDIALOG
TDIALOG:ACTIVATE
Param 1: U
Param 2: U
Param 3: U
Param 4: L .T.
Param 5: B {
Param 6: L .T.
Param 7: U
Param 8: U
Param 9: U
Param 10: L .F.
Param 11: L .F.
Local 1: O Class: TDIALOG
Local 2: N 1509628
Local 3: U
Local 4: U
Local 5: U
Local 6: O Class: TDIALOG
PRG_201
Param 1: L .T.
Local 1: O Class: TDIALOG
Local 2: O Class: TRBTN
Local 3: O Class: TIMAGE
Local 4: L .F.
Local 5: C "\QASVE\config\fondo\anexo1.jpg"
(b)SVEMENU
Param 1: O Class: TRBTN
TRBTN:CLICK
Local 1: O Class: TRBTN
TRBTN:LBUTTONUP
Param 1: N 31
Param 2: N 31
Param 3: O Class: TRBTN
Local 1: U
Local 2: L .T.
Local 3: L .T.
TCONTROL:HANDLEEVENT
Param 1: N 514
Param 2: N 0
Param 3: N 2031647
Local 1: O Class: TRBTN
Local 2: U
TRBTN:HANDLEEVENT
Param 1: N 514
Param 2: N 0
Param 3: N 2031647
Local 1: O Class: TRBTN
_FWH
Param 1: N 2031647
Param 2: N 514
Param 3: N 0
Param 4: N 2031647
Param 5: N 13
Local 1: O Class: TRBTN
DIALOGBOX
Param 1: N 4194304
Param 2: C "SVEMENU02"
Param 3: N 1115950
Param 4: O Class: TDIALOG
TDIALOG:ACTIVATE
Param 1: U
Param 2: U
Param 3: U
Param 4: L .T.
Param 5: U
Param 6: L .T.
Param 7: U
Param 8: U
Param 9: U
Param 10: L .F.
Param 11: L .F.
Local 1: O Class: TDIALOG
Local 2: N 1115950
Local 3: U
Local 4: U
Local 5: U
Local 6: O Class: TDIALOG
SVEMENU
Param 1: N 2
Local 1: O Class: TDIALOG
Local 2: O Class: TIMAGE
Local 3: O Class: TRBTN
Local 4: U
Local 5: U
Local 6: C "\QAsve\config\bmp2\svemen02.jpg"
Local 7: C "SVEMENU02"
Local 8: C ""
Local 9: C ""
Local 10: C " "
Local 11: L .T.
Local 12: N 19
(b)MAIN
Param 1: O Class: TBTNBMP
TBTNBMP:CLICK
Local 1: O Class: TBTNBMP
TBTNBMP:LBUTTONUP
Param 1: N 81
Param 2: N 102
Param 3: O Class: TBTNBMP
Local 1: U
Local 2: L .T.
TCONTROL:HANDLEEVENT
Param 1: N 514
Param 2: N 0
Param 3: N 5308518
Local 1: O Class: TBTNBMP
Local 2: U
TBTNBMP:HANDLEEVENT
Param 1: N 514
Param 2: N 0
Param 3: N 5308518
Local 1: O Class: TBTNBMP
_FWH
Param 1: N 5308518
Param 2: N 514
Param 3: N 0
Param 4: N 5308518
Param 5: N 3
Local 1: O Class: TBTNBMP
WINRUN
Param 1: N 1115950
TWINDOW:ACTIVATE
Param 1: C "MAXIMIZED"
Param 2: U
Param 3: U
Param 4: U
Param 5: U
Param 6: B {|| ... }
Param 7: U
Param 8: U
Param 9: U
Param 10: U
Param 11: U
Param 12: U
Param 13: U
Param 14: U
Param 15: U
Param 16: U
Param 17: U
Param 18: U
Param 19: U
Local 1: O Class: TWINDOW
Local 2: U
Local 3: U
TMETRO:ACTIVATE
Local 1: O Class: TMETRO
MAIN
Local 1: O Class: TMETRO
Local 2: C "IMPORT-EXPORT"Linked RDDs
DBF
DBFFPT
DBFBLOB
DBFCDXDataBases in use
Classes in use:
1 ERROR
2 HASHENTRY
3 HBCLASS
4 HBOBJECT
5 TWINDOW
6 TCONTROL
7 TGET
8 TDATABASE
9 TDIALOG
10 TBRUSH
11 TCOMBOBOX
12 GET
13 TCLIPGET
14 TBUTTON
15 TBITMAP
16 TFONT
17 TRECT
18 TINI
19 TMETRO
20 TBTNBMP
21 TRBTN
22 TIMAGE
23 TXBROWSE
24 TXBRWCOLUMN
25 TSCROLLBAR
26 FRREPORTMANAGER
27 FRPRINTOPTIONS
28 FRPREVIEWOPTIONS
29 FRENGINEOPTIONS
30 FRREPORTOPTIONS
31 TRADMENU
32 TRADIO
33 TOLEAUTO
34 TREG32Memory Analysis
253 Static variables
Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes