Power Builder - PARA OSCAR...AYUDA CON EXCEL

 
Vista:
Imágen de perfil de Antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

PARA OSCAR...AYUDA CON EXCEL

Publicado por Antonio (1271 intervenciones) el 15/04/2005 18:28:55
Hola Oscar:

Tengo un problema con Excel...

De mi aplicación de PB coloco datos de un datawindow de esta forma:

OLEObject xlapp
xlApp = Create OLEObject
li_ret = xlApp.ConnectToNewObject( "Excel.application" )
if li_ret < 0 then
Close ( w_msg2 )
MessageBox("Error Conectandose a Excel !",string(li_ret))
destroy xlApp;
return
end if
xlApp.Application.Workbooks.Open("c:\prueba\prueba.xls")
xlApp.Application.Visible = false
xlApp = xlapp.Application.ActiveWorkbook.Worksheets[1]
xlApp.Application.cells[9,3].value = String ( Day ( ld_fecreg ) )
xlApp.Application.cells[9,7].value = Upper ( ls_meses[Month( ld_fecreg ) ] )
xlApp.Application.Activeworkbook.PrintOut()
xlApp.Application.Activeworkbook.close(false)
xlApp.Application.Quit()
xlApp.DisConnectObject()
Destroy xlApp;

Hasta ahi todo bien, imprime el documento con los datos, etc.
mi problema radica en que excel queda en memoria y no se descarga la aplicación de excel por consiguiente cuando el usuario habre excel normalmente manda un error de excel incluso cuando uso esta parte
xlApp.Application.Activeworkbook.close(false)
xlApp.Application.Quit()

¿Sabes porque es el problema amigo ?

mil gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PARA OSCAR...AYUDA CON EXCEL

Publicado por Oscar (1178 intervenciones) el 17/04/2005 16:21:00
No uses Quit, en su lugar, probá con GarbageCollect ( ). Es decir, las últimas líneas de tu código serían:
......................................
xlApp.Application.Activeworkbook.PrintOut()
xlApp.Application.Activeworkbook.close(false)

//Para liberar la memoria usá esta línea:
GarbageCollect ( )

xlApp.DisConnectObject()
Destroy xlApp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:PARA OSCAR...AYUDA CON EXCEL

Publicado por Antonio (1271 intervenciones) el 18/04/2005 15:54:21
Hola Oscar:

Mil gracias por tu ayuda, segui los pasos pero no soluciona el problema, Excel sigue estando en memoria, lo use de esta manera:

xlApp.Application.Activeworkbook.PrintOut()
xlApp.Application.Activeworkbook.close(false)

//Para liberar la memoria usá esta línea:
GarbageCollect ( )
xlApp.DisConnectObject()
Destroy xlApp

Despues los hice de esta manera:

xlApp.Application.Activeworkbook.PrintOut()
xlApp.Application.Activeworkbook.close(false)

//Para liberar la memoria usá esta línea:
xlApp.DisConnectObject()
Destroy xlApp
GarbageCollect ( )

y de ninguna de las formas lo puedo quitar de memoria...

Seguire investigando...

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar