Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Eliminar variables de memoria

Estas en el tema de Eliminar variables de memoria en el foro de Visual Basic clásico en Foros del Web. Jellow! hola amigos y amigas programadores del antiguo visual basic. Una pregu, cuando tengo un recordset y lo quiero eliminar le hago esto: Código: Set ...
  #1 (permalink)  
Antiguo 06/04/2006, 08:48
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Eliminar variables de memoria

Jellow! hola amigos y amigas programadores del antiguo visual basic. Una pregu, cuando tengo un recordset y lo quiero eliminar le hago esto:

Código:
Set rec=nothing
Y se esfumó. Pero ni idea de como hacerle lo mismo a una variable, ya sea string o int o lo que sea

Tengo variables globales que utilizo y al cerrar el form que desaparezcan, ya que las utilizo en todos los formularios y al hacer el load de cada formulario toman nuevos valores.
  #2 (permalink)  
Antiguo 06/04/2006, 14:57
Avatar de [EX3]  
Fecha de Ingreso: marzo-2006
Ubicación: Fuenlabrada, Madrid
Mensajes: 203
Antigüedad: 18 años, 1 mes
Puntos: 1
Si no son arrays dinamicos no podras eliminarlos de memoria. Una variable o un array estatico tienen una seccion de memoria ocupada permanentemente y no se puede reasignar mas memoria ni menos tampoco, al igual que eliminarlos.

Si lo que buscas es reinicializar el valor de las variables tendras que hacerlo manualmente desde el codigo.

Salu2...
__________________
Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX

Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra.

  #3 (permalink)  
Antiguo 06/04/2006, 16:18
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Imaginemos que tengo una variable Global, a la que le asigno un valor en el load de determinado formulario, no el mdichild. Desde el inicio hasta que abra el formulario ya está en memoria o aun no? Recordemos que solo la tengo declarada como variable global
  #4 (permalink)  
Antiguo 06/04/2006, 16:36
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Tu solución: No usar variables globales.

O si seguro seguro seguro no puedes dejar de usarlas, crea un tipo/clase que almacene todas las globales, y sólo instancias uno de ese objeto como global.
  #5 (permalink)  
Antiguo 06/04/2006, 20:35
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Buska la funcion ReDim chance y te ayude en algo.
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #6 (permalink)  
Antiguo 06/04/2006, 20:40
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Este es uno de los problemas de Visual Basic, no se puede gestionar la memoria.

Al margen, te recomiendo lo mismo que MaxExtreme, no uses variables globales, son una muy mala práctica de programación y por lo general generan muchos errores.

Siq ueres evitar que la variable ocupe memoria innecesaria, declarala lo más cerca posible de su primer uso.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #7 (permalink)  
Antiguo 08/04/2006, 10:44
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
La cosa es que la varible toma un valor en el primer formulario, y de allí paso a un segundo form y a un tercero y necesito conservar esos valores.

Es como utilizar variables httpSession en programación web sin pasarlas como variables url
  #8 (permalink)  
Antiguo 08/04/2006, 17:17
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
puedes hacer que se transmitan los valores entre formularios. Antes de cerrar el formulario A, abre el formulario B, le pasas la variable en cuestión, y luego cierras el formulario B.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #9 (permalink)  
Antiguo 09/04/2006, 17:11
Avatar de VisualGuallabo  
Fecha de Ingreso: marzo-2005
Mensajes: 288
Antigüedad: 19 años, 1 mes
Puntos: 2
si necesitas que los valores de las variables se conserven lo mas lógico seria que las declararas en un modulo.

Ejemplo
Public VariaA AS STRING
Public VariaB AS INTEGER
__________________
"No hay lenguaje de programación potente que sea inferior a otro semejante cuando existe un buen programador que lo defiende"

Yosvanis Cruz Alias VisualGuallabo
Ycruz
  #10 (permalink)  
Antiguo 10/04/2006, 07:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
La solucion q' da TolaWare seria muy interesante, abrir el Form A y tal vez crear una propiedad en el Form q' permita Cambiar/Leer el valor de la Variable en cuestión... suponiendo q' el Form A sea el ultimo en ser descargado de la memoria...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 10/04/2006, 09:57
Avatar de Hager  
Fecha de Ingreso: mayo-2005
Ubicación: Bogota, Colombia
Mensajes: 106
Antigüedad: 19 años
Puntos: 2
Mira, para la descarga de estas variables tienen que ser de tipo de dato variant

Dim mivariable

mivariable="hola"
set mivariable=nothing

de otra forma no es permitido, ya que los tipos de datos fijos no permiten descarga y generan errores al intentar manejar este tipo de estructura.
__________________
:cool: Nadie enseña a nadie...
todos aprendemos de todos....!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:12.