OLE funciona Ok pero bota error a final ??

OLE funciona Ok pero bota error a final ??

Postby Enrrique Vertiz » Wed May 07, 2008 2:19 pm

Saludos, alguno de ustedes me puede ayudar con esto, el codigo funciona perfecto, leo la hoja Excel sin problemas, pero al finalizar en la linea oExcel:Quit() bota error, si lo comento me bora error en oHoja:End(), alguien sabe como solucionarlo, adjunto programa.

///// Programa ///////
LOCAL oExcel, oHoja, nRows, nCols

oExcel := TOleAuto():New( "Excel.Application" )

oExcel:WorkBooks:Open(cGetFile("*.XLS", "Seleccione Archivo"))
oHoja := oExcel:Get( "ActiveSheet" )

nRows := oHoja:UsedRange:Rows:Count()
nCols := oHoja:UsedRange:Columns:Count()

FOR nRow := 2 TO nRows
FOR nCol := 1 TO nCols
? oHoja:Cells(nRow, nCol):Value
SysRefresh()
NEXT
NEXT

oExcel:Quit()

oHoja:End()
oExcel:End()

////// Error.Log ///////
Application
===========
Path and name: D:\Contfive\contsqlx.exe (32 bits)
Size: 1,888,256 bytes
Time from start: 0 hours 0 mins 13 secs
Error occurred at: 07/05/2008, 09:17:49
Error description: Error Excel.Application:ACTIVESHEET/16389 E_FAIL: END
Args:

Stack Calls
===========
Called from: win32ole.prg => TOLEAUTO:END(0)
Called from: conting1.prg => IMPBCI(3398)
Called from: contfive.prg => (b)BUILDMENU(6744)
Called from: MENU.PRG => TMENU:COMMAND(0)
Called from: WINDOW.PRG => TWINDOW:COMMAND(0)
Called from: MDIFRAME.PRG => TMDIFRAME:COMMAND(0)
Called from: WINDOW.PRG => TMDIFRAME:HANDLEEVENT(0)
Called from: WINDOW.PRG => _FWH(0)
Called from: => WINRUN(0)
Called from: WINDOW.PRG => TMDIFRAME:ACTIVATE(0)
Called from: contfive.prg => MAIN(2435)

Gracias
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.02, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 526
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Postby Adolfo » Wed May 07, 2008 2:22 pm

Por lo que yo veo tienes el oExcel:Quit() antes del oHoja:end()

No deberia ser asi...

oHoja:End()

oExcel:Quit
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
User avatar
Adolfo
 
Posts: 852
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Postby Enrrique Vertiz » Wed May 07, 2008 3:12 pm

Adolgo, gracias por contestar, pero cambiando el orden tampoco funciona, alguna otra idea ??
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.02, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 526
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Postby Adolfo » Wed May 07, 2008 3:17 pm

mm revisando unas cositas por aqui....

Solo necesitas el oExcel:Quit()

y despues un oHoja:=Nil

Prueba y me confirmas.
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
User avatar
Adolfo
 
Posts: 852
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Postby sysctrl2 » Wed May 07, 2008 4:40 pm

exacto , solo debes de termiar con

oExcel:quit()

oExcel := nil

saludos.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1003
Joined: Mon Feb 05, 2007 7:15 pm

Postby Enrrique Vertiz » Wed May 07, 2008 6:49 pm

Gracias por contestar, pero la unica forma en la que no bota error es :

oExcel:= NIL
oHoja := NIL

Por el momento lo dejare asi, gracias nuevamente
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.02, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 526
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: JoseAlvarez and 72 guests