Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/09/2009, 08:29
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses
Puntos: 2658
Respuesta: C# Escribir varios excel automaticamente

Cita:
porque esto no lo realiza automaticamente el GC?
Lamentablemente no. El GC tiene control sobre todo lo que existe en el ámbito de la aplicación, pero no tiene dominio sobre lo que existe fuera de ese ambiente, como es el caso de los objetos COM.
En la aplicación se crea un objeto Excel que se "engancha" a una instancia de Excel que se crea por una llamada al sistema operativo (la famosa interoperatibilidad). Tu puedes destruir el objeto en la aplicación, pero el enlace sigue ocupado hasta que se le indique, con otra llamada, que se ha liberado. Si no lo haces, la próxima petición generará otra instancia porque el sistema "supone" que la primera todavía está siendo usada.
Esto es lógico, por cuanto lo que hay fuera de la memoria definida para la aplicación es ámbito del sistema operativo, y es el GC del S.O. quien debe liberarlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)