Excel

Necesito saber como se libera la memoria cuando se asigna un valor en un Objeto OLE de EXCEL ej.
ole_1.Range(ls_celda).Select
ole_1.ActiveCell.FormulaR1C1 = is_valor

1 respuesta

Respuesta
1
Se libera cuando destruyes el objeto OLE, destroy ole_1, vos podes colocar visible el objeto ole y luego destruirlo así continuas viendo el excel pero liberas memoria. Es decir hacer todo lo que tengas que hacer en la hoja de excel luego colocar el objeto visible y finalmente destruir el objeto.
En principio te agradezco la colaboración. Esta solución no me solucionará el problema, concretamente mi problema es que cuando voy asignando valores a las celdas llega un momento que sobrepaso la memoria del PC. Debo de decirte que estoy grabando una hoja excel con muchos miles de filas. La solución pasaría por liberar de memoria la celda asignada, pero no sé como hacerlo.
Un saludo
Pdro.
Para que envías a excel miles de datos, ¿por qué no grabas los valores en una DW y la salvas después en formato de Excel?, es más practico debido a que la liberación que necesitas es difícil, para esto ultimo necesitas escribir por partes e ir destruyendo el objeto, creando uno nuevo y volver a escribir, de otra forma es un poco complicado debido a que tendrías que utilizar Dll's hechas en C++.
Así lo tuve que hacer, posteriormente creé una macro en excel que realiza todas las funciones que quería hacer por PowerBuilder.
Gracias por tu colaboración.
Un saludo
Pdro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas