FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error con FileXLS.Lib al compilar en 32 Bits
Posts: 13
Joined: Tue Feb 20, 2007 09:47 PM
Error con FileXLS.Lib al compilar en 32 Bits
Posted: Mon Apr 30, 2007 04:56 PM

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.

Aprendiendo
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Error con FileXLS.Lib al compilar en 32 Bits
Posted: Mon Apr 30, 2007 05:43 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 13
Joined: Tue Feb 20, 2007 09:47 PM
Error con FileXLS.Lib al compilar en 32 Bits
Posted: Wed May 02, 2007 06:42 PM

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
-----------------------------------------

Aprendiendo
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Error con FileXLS.Lib al compilar en 32 Bits
Posted: Wed May 02, 2007 06:57 PM

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
Posts: 13
Joined: Tue Feb 20, 2007 09:47 PM
Error con FileXLS.Lib al compilar en 32 Bits
Posted: Wed May 02, 2007 08:34 PM

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.

Aprendiendo
Posts: 13
Joined: Tue Feb 20, 2007 09:47 PM
Error con FileXLS.Lib al compilar en 32 Bits
Posted: Thu May 03, 2007 02:41 PM

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

Antonio, nuevamente gracias.

Aprendiendo

Continue the discussion