Error con FileXLS.Lib al compilar en 32 Bits

Post Reply
User avatar
Leon DeBurgh
Posts: 13
Joined: Tue Feb 20, 2007 9:47 pm

Error con FileXLS.Lib al compilar en 32 Bits

Post by Leon DeBurgh »

Nuevamente me dirijo a ustedes, ya que he podido avanzar en mi migración de sistemas a 32 bits, y con la librería FileXLS, tengo el siguiente problema, me arroja estos errores al compilar:

: Unresolved external '_HB_FUN_XLSFONT' referenced from D:\FWH\XPCCLI\TOXLS.OBJ
: Unresolved external '_HB_FUN_XLSFORMAT' referenced from D:\FWH\XPCCLI\TOXLS.OBJ
: Unresolved external '_HB_FUN_TFILEXLS' referenced from D:\FWH\XPCCLI\TOXLS.OBJ
: Unresolved external '_HB_FUN_TRAE_RSOC' referenced from D:\FWH\XPCCLI\TOXLS.OBJ

No tengo la menor idea de como solucionarlo, y no sé si alguno de ustedes puede decirme por qué me arroja ese error.

Atentamente, Leo.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Leon DeBurgh
Posts: 13
Joined: Tue Feb 20, 2007 9:47 pm

Post by Leon DeBurgh »

Bajé y compilé con la librería, los errores desaparecieron, pero me queda un problema, el archivo excel no lo genera y el programa desaparece abruptamente... por si las dudas, posteo la línea en que hago la ejecución de la función, y el procedimiento que genera el cuadro excel, si encuentran algo raro, por favor, avísenme... Atentamente, Leo.

Aquí Ejecuto la función.

Public Before:=CurDrive() + ":\" + CurDir()

REDEFINE BTNBMP ID 120 OF oDlg File "ToExcel.BMP" NoBorder;
Tooltip "Envía Libro de Ventas a Excel" Action (_LF_Excel_(oDbf,_Titulo),oBrw:SetFocus(),oBrw:nRowPos:=1, oBrw:Refresh(),Open_XLS("D:\TempXLS\LIbroF.XLS"),lChDir(Before))

Acá, se ejecuta la construcción del cuadro excel...

#include "fivewin.ch"
#include "FileXLS.ch"

#define BORDER_UP nOr( BORDER_TOP )
#define BORDER_DOWN nOr( BORDER_BOTTOM )
#DEFINE TRUE .T.
#DEFINE FALSE .F.

static oFileXLS
*------------------------------------------------------------------------------*
Function _LF_Excel_(oDbf,_Titulo)
Local nFont1, nFont2

Local nFormat1, nFormat2,nXlsLine:=0

Public Drive:="D:\",Directory:="TempXLS",Start:="\"
lChDir("D:\")
lMkDir("TempXLS")
lChDir("TempXLS")

DEFINE XLS FONT nFont1 NAME "Arial" HEIGHT 12 BOLD
DEFINE XLS FONT nFont2 NAME "Arial"

DEFINE XLS FORMAT nFormat1 PICTURE 'dd-mmm-yyyy'
DEFINE XLS FORMAT nFormat2 PICTURE '#,##0'

XLS oFileXLS FILE "D:\TempXLS\LibroF.xls" AUTOEXEC

XLS COL 1 WIDTH 1 OF oFileXLS
XLS COL 2 WIDTH 6 OF oFileXLS
XLS COL 3 WIDTH 12 OF oFileXLS
XLS COL 4 WIDTH 12 OF oFileXLS
XLS COL 5 WIDTH 35 OF oFileXLS
XLS COL 6 WIDTH 12 OF oFileXLS
XLS COL 7 WIDTH 12 OF oFileXLS
XLS COL 8 WIDTH 12 OF oFileXLS
XLS COL 9 WIDTH 12 OF oFileXLS
XLS COL 10 WIDTH 12 OF oFileXLS

@ 1,2 XLS SAY Alltrim((oDbf[4]:cAlias)->Razon_Soc) FONT nfont1 OF oFileXLS ALIGNAMENT ALING_LEFT
@ 2,2 XLS SAY Alltrim((oDbf[4]:cAlias)->Giro) FONT nfont2 OF oFileXLS ALIGNAMENT ALING_LEFT
@ 3,2 XLS SAY Alltrim((oDbf[4]:cAlias)->Direccion) FONT nfont2 OF oFileXLS ALIGNAMENT ALING_LEFT
@ 4,2 XLS SAY Alltrim((oDbf[4]:cAlias)->Co_Ciu) FONT nfont2 OF oFileXLS ALIGNAMENT ALING_LEFT
@ 5,2 XLS SAY "TELEFONOS "+Alltrim((oDbf[4]:cAlias)->Telefonos) FONT nfont2 OF oFileXLS ALIGNAMENT ALING_LEFT
@ 6,2 XLS SAY "R.U.T. "+(oDbf[4]:cAlias)->Rut FONT nfont2 OF oFileXLS ALIGNAMENT ALING_LEFT

@ 8,5 XLS SAY _Titulo FONT nfont1 OF oFileXLS ALIGNAMENT ALING_CENTER
@ 9,2 XLS SAY "PERIODO : "+Upper(Mes)+" DE "+Transform(_Years,"@e #,###") FONT nFont2 Of oFileXLS


@ 11,2 XLS SAY " TIPO " FONT nfont2 OF oFileXLS BORDER BORDER_UP ALIGNAMENT ALING_CENTER
@ 12,2 XLS SAY "DOCTO." FONT nfont2 OF oFileXLS BORDER BORDER_DOWN ALIGNAMENT ALING_CENTER


@ 11,3 XLS SAY "NUMERO DE" FONT nfont2 OF oFileXLS BORDER BORDER_UP ALIGNAMENT ALING_CENTER
@ 12,3 XLS SAY "DOCUMENTO" FONT nfont2 OF oFileXLS BORDER BORDER_DOWN ALIGNAMENT ALING_CENTER


@ 11,4 XLS SAY "FECHA DE" FONT nfont2 OF oFileXLS BORDER BORDER_UP ALIGNAMENT ALING_CENTER
@ 12,4 XLS SAY "EMISION " FONT nfont2 OF oFileXLS BORDER BORDER_DOWN ALIGNAMENT ALING_CENTER


@ 11,5 XLS SAY " RAZON SOCIAL " FONT nfont2 OF oFileXLS BORDER BORDER_UP ALIGNAMENT ALING_CENTER
@ 12,5 XLS SAY " CLIENTE " FONT nfont2 OF oFileXLS BORDER BORDER_DOWN ALIGNAMENT ALING_CENTER


@ 11,6 XLS SAY "R.U.T." FONT nfont2 OF oFileXLS BORDER BORDER_UP ALIGNAMENT ALING_CENTER
@ 12,6 XLS SAY " " FONT nfont2 OF oFileXLS BORDER BORDER_DOWN ALIGNAMENT ALING_CENTER


@ 11,7 XLS SAY "EXENTO" FONT nfont2 OF oFileXLS BORDER BORDER_UP ALIGNAMENT ALING_CENTER
@ 12,7 XLS SAY " " FONT nfont2 OF oFileXLS BORDER BORDER_DOWN ALIGNAMENT ALING_CENTER


@ 11,8 XLS SAY "NETO " FONT nfont2 OF oFileXLS BORDER BORDER_UP ALIGNAMENT ALING_CENTER
@ 12,8 XLS SAY " " FONT nfont2 OF oFileXLS BORDER BORDER_DOWN ALIGNAMENT ALING_CENTER

@ 11,9 XLS SAY "I.V.A. " FONT nfont2 OF oFileXLS BORDER BORDER_UP ALIGNAMENT ALING_CENTER
@ 12,9 XLS SAY " " FONT nfont2 OF oFileXLS BORDER BORDER_DOWN ALIGNAMENT ALING_CENTER

@ 11,10 XLS SAY " TOTAL " FONT nfont2 OF oFileXLS BORDER BORDER_UP ALIGNAMENT ALING_CENTER
@ 12,10 XLS SAY " " FONT nfont2 OF oFileXLS BORDER BORDER_DOWN ALIGNAMENT ALING_CENTER

Select (oDbf[3]:cAlias)
(oDbf[3]:GoTop())
*XLS ROW 8 HEIGHT 22 OF oFileXLS

nXlsLine:=14

Do While !Eof()
@ nXlsLine,2 XLS SAY (oDbf[3]:cAlias)->Alf_Tipo OF oFileXLS
@ nXlsLine,3 XLS SAY (oDbf[3]:cAlias)->Alf_Num FORMAT nFormat2 OF oFileXLS
@ nXlsLine,4 XLS SAY PM_Dates((oDbf[3]:cAlias)->Alf_Fec) OF oFileXLS
@ nXlsLine,5 XLS SAY (oDbf[3]:cAlias)->Alf_RS OF oFileXLS
@ nXlsLine,6 XLS SAY IIF(!Empty((oDbf[3]:cAlias)->Alf_Rut),Pm_Point((oDbf[3]:cAlias)->Alf_Rut)," ") OF oFileXLs
@ nXlsLine,7 XLS SAY (oDbf[3]:cAlias)->Alf_Exen FORMAT nFormat2 OF oFileXLS
@ nXlsLine,8 XLS SAY (oDbf[3]:cAlias)->Alf_Neto FORMAT nFormat2 OF oFileXLS
@ nXlsLine,9 XLS SAY (oDbf[3]:cAlias)->Alf_Iva FORMAT nFormat2 OF oFileXLS
@ nXlsLine,10 XLS SAY (oDbf[3]:cAlias)->Alf_Tot FORMAT nFormat2 OF oFileXLS
Skip
nXlsLine++
EndDo
nXlsLine++
@ nXlsLine,2 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,3 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,4 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,5 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,6 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,7 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,8 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,9 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,10 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
nXlsLine++
@ nXlsLine,7 XLS SAY _EXENTO OF oFileXLS FORMAT nFormat2 BORDER_UP
@ nXlsLine,8 XLS SAY _Tot_NETO OF oFileXLS FORMAT nFormat2 BORDER_UP
@ nXlsLine,9 XLS SAY _Tot_IVA OF oFileXLS FORMAT nFormat2 BORDER_UP
@ nXlsLine,10 XLS SAY _TotALS OF oFileXLS FORMAT nFormat2 BORDER_UP
nXlsLine++
@ nXlsLine,2 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,3 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,4 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,5 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,6 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,7 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,8 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,9 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN
@ nXlsLine,10 XLS SAY "" OF oFileXLS BORDER BORDER_DOWN

SET XLS TO DISPLAY ;
OF oFileXLS

ENDXLS oFileXLS

Select (oDbf[3]:cAlias)
(oDbf[3]:GoTop())

Return Nil
*------------------------------------------------------------------------------*
*Apertura de Cuadro Excel mediante un objeto OLE
FUNCTION Open_XLS(FileName)

LOCAL hExcel
LOCAL hWorkbook
LOCAL hActiveWorkbook
LOCAL hSheets
LOCAL hActiveSheet

hExcel := CreateOLEObject("Excel.Application")
OLESetProperty(hExcel,"Visible",TRUE)

hWorkbook := OLEGetProperty(hExcel,"Workbooks")
OLEInvoke(hWorkbook,"Open",FileName) //& "D:\TempXLS\Card.XLS") //"D:\TempXLS\Egresos.XLS")
hActiveWorkbook := OLEGetProperty(hExcel,"ActiveWorkbook")
hSheets := OLEGetProperty(hActiveWorkbook,"Sheets")
hActiveSheet := OLEGetProperty(hExcel,"ActiveSheet")

hExcel := NIL
hWorkbook := NIL
hActiveWorkbook := NIL
hSheets := NIL
hActiveSheet := NIL



RETURN NIL
*-----------------------------------------*
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

León,

Sítua llamadas a MsgInfo( 1 ), MsgInfo( 2 ), MsgInfo( 3 ), etc. entre las líneas de tu programa para que veas hasta donde llega antes de terminar
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Leon DeBurgh
Posts: 13
Joined: Tue Feb 20, 2007 9:47 pm

Post by Leon DeBurgh »

El programa deja de funcionar cuando defino el archivo, exactamente en esta línea:

XLS oFileXLS FILE "D:\TempXLS\LibroF.xls" AUTOEXEC

qué puede estar mal, no lo se.
User avatar
Leon DeBurgh
Posts: 13
Joined: Tue Feb 20, 2007 9:47 pm

Post by Leon DeBurgh »

Después de estudiar un poco, decidí compilar las fuentes que trae la clase que me indicaste, y problema solucionado.

Antonio, nuevamente gracias.
Post Reply