Liberar memoria con ADO
Publicado por Mne9 (11 intervenciones) el 11/04/2008 09:05:45
Recurro nuevamente al foro con esta cuestion que me tiene preocupado ..
En varios procedimientos declaro recordsets locales y mantengo una conexion declarada en global.
Estos recordsets van siendo asignados al recordset de un ADODC (set Adodc1.recordset = recordset) luego puedo tranquilamente setear Nothing al recordset de procedimiento, pero.: al cerrarlo (.Close) pierdo todo en un datagrid (con recordsource al ADODC).
Bueno, espero no marear demasiado pero es que no termino de entender el funcionamiento,.. ¿Acaso Set simplemente referencia y mantiene esa referencia? y de ser así ¿El recordset de procedimiento sobrevive al finalizar ese ámbito?..¿Y cuando le asigno Nothing que es lo que sucede entonces?
Es muy probable que esté dejando objetos perdidos en memoria (cierto alentamiento)..
Muchas gracias de antemano,
Mne9
En varios procedimientos declaro recordsets locales y mantengo una conexion declarada en global.
Estos recordsets van siendo asignados al recordset de un ADODC (set Adodc1.recordset = recordset) luego puedo tranquilamente setear Nothing al recordset de procedimiento, pero.: al cerrarlo (.Close) pierdo todo en un datagrid (con recordsource al ADODC).
Bueno, espero no marear demasiado pero es que no termino de entender el funcionamiento,.. ¿Acaso Set simplemente referencia y mantiene esa referencia? y de ser así ¿El recordset de procedimiento sobrevive al finalizar ese ámbito?..¿Y cuando le asigno Nothing que es lo que sucede entonces?
Es muy probable que esté dejando objetos perdidos en memoria (cierto alentamiento)..
Muchas gracias de antemano,
Mne9
Valora esta pregunta


0