Visual Basic - Limpiar variables y cerrar proyecto

Life is soft - evento anual de software empresarial
 
Vista:

Limpiar variables y cerrar proyecto

Publicado por Patricia Rodríguez Escobar (5 intervenciones) el 22/10/2004 01:55:09
Hola:

En las formas de VB 6.0 utilizo variables para guardar valores y si cierro la forma (Unload) y vuelvo a abrirla las variables conservan aun su valor, que puedo hacer para que no se queden en memoria?

Por otro lado, al salir del proyecto en los equipos donde esta instalado este se queda como si estuviera ejecutandose, me doy cuenta al precionar CTL+ALT+SUPR, como evito este problema?

Gracias por tu ayuda ! : )
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:Limpiar variables y cerrar proyecto

Publicado por Ruri (583 intervenciones) el 22/10/2004 02:54:50
Patricia: Si al cerrar los formularios, las variables quedan en memoria, es por que están declaradas como públicas en un módulo standar. Si sólo tienen visiblilidad dentro del formulario, colocalas en él, sino dejalas donde están.
Lo que puede estar pasando son varias cosas:
1. Tenés objetos que estableciste con la instrucción SET. Si los objetos son públicos, al descargar descargar el último formulario los establecés a Nothing. Por ejemplo, si declartaste Set A = X o Set S = New X, al descargar el último formulario colocás Set A = Nothing para liberar memoria. Si en cambio son visibles dentro del formulario, los establecés a Nothing al descargarlo. En el caso que los hayas establecido en un procedimiento, al finalizar el procedimiento o cuando ya no los necesités. Es una vieja creencia que Basic limpia todo,m no es verdad. Basic limpia lo que hace Basic, lo demás es asunto tuyo.
2. Si colocás imágenes y luego las reemplazás por otras, limpiá los objetos picture antes de colocar la nueva imagen (Se sigue aplicando lo que dije en el punto 1). Ejemplo
Set Picture1.picture=Nothing
Set Picture1.picture=LoadPicture(C:\...)
3. Lo mismo va para los objetos creados con CreateObject, limpialos cuando no los necesités o antes de acabar la vida del objeto.
4. Lasbases de datos y recodsets abiertos deben cerrarse tan pronto yano los necesites. Me refiero a los que se crean con código, si utilizan un control, éste se encarga de cerrarlos.
5. No utilicés la instrucción END. END deja todo en memoria, permite la finalización de la aplicación, pero no libera el espacio de trabajo de la misma, dejando todo tirado por ahí. END desconecta la aplicación y la cierra parcialmente.
6. Si utilizás controles que no vienen con VB, por ejemplo los que se bajan de internet, convendría testearlos. A veces no liberan toda la memoria y ocasionan problemas. Sería conveniente colocarlos aislados, uno a uno, en un formulario y ver cuanta memoria hay tenemos disponnible antes de correr el programa por primeravez y luego de abrirlo y cerarlo varias veces. Si cada vez se pierde un poco de memoria, entonces el culpable es el control.
7. Si estás utilizando el API, leé la documentación de la función y fijate si no es necesario eliminar memoria en alguna forma.

Espero que te sirva
Saludos Ruri
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

RE:Gracias Ruri

Publicado por Paty (5 intervenciones) el 26/10/2004 00:43:51
Te agradezco tu ayuda!! : )
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