elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  "El misterio de la variable indx" jaja
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: "El misterio de la variable indx" jaja  (Leído 6,147 veces)
Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: "El misterio de la variable indx" jaja
« Respuesta #10 en: 26 Octubre 2011, 02:24 am »

declaras la variable con DIM y en el form en cuestion?
Si la declaras como GLOBAL o en algun modulo o form va a quedar guardada


En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: "El misterio de la variable indx" jaja
« Respuesta #11 en: 26 Octubre 2011, 02:34 am »

Esta declarada como Dim indx as integer en el form, en general, teoricamente al descargarse el form esa variable se anularia pero no lo hace :/, seguramente es por codigo que tendre en otro lado, pero buscando en Buscar.. no encontre que haga una modificacion a esa variable desde otro lado ni nada :/


En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: "El misterio de la variable indx" jaja
« Respuesta #12 en: 26 Octubre 2011, 03:05 am »

no me da ganas de agregar equipos  :xD, deberias hacer una base de datos como te dije asi ya te va guardando lo que cargas.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: "El misterio de la variable indx" jaja
« Respuesta #13 en: 26 Octubre 2011, 03:17 am »

Pregunta, seteas la variable indx antes de mostrar el formulario?

no me da ganas de agregar equipos  :xD, deberias hacer una base de datos como te dije asi ya te va guardando lo que cargas.
:xD
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: "El misterio de la variable indx" jaja
« Respuesta #14 en: 26 Octubre 2011, 07:57 am »

no me da ganas de agregar equipos  :xD, deberias hacer una base de datos como te dije asi ya te va guardando lo que cargas.

Pienso lo mismo.

Ya me baje el proyecto (Hace ya tiempo) pero me da un poco de pereza visual... asi que solo te dejo una SOLUCION PARA RASTREAR Y DEPURAR la llamada al seteo de valor a indx para ver detectar el "misterio" de la variable...

Código
  1. Dim indx as integer
  2.  

por:

Código
  1. private mIndexBlackZeroX as integer ' //  puede ser lo que quieras solo le dejo el nombre asi por que es una SOLUCION PARA RASTREAR la linea que le setea el valor y asi coprregirlo.
  2.  

Despues para que no edites nada del codigo y poder poner los BreakPoint JUSTOS agregas esta propiedad:

Código
  1.  
  2. public property let indx(byval lVal as integer)
  3.    mIndexBlackZeroX = lval ' // Aqui pones el BreakPoint o agregar un Debug.print para Depurar...
  4. end property
  5.  
  6. public property get indx() as integer
  7.    indx = mIndexBlackZeroX
  8. end property
  9.  
  10.  

Te dejo esta solucion para que lo hagas... jejeje.

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: "El misterio de la variable indx" jaja
« Respuesta #15 en: 26 Octubre 2011, 15:52 pm »

Jeje se que esta feo agregar todos los datos para llegar ahi pero bueno, yo los agrego en unos segundos de tantas veces que lo he hecho xD

No me funciono eso BackZeroX, igual gracias, quedara como uno de esos misterios sin resolver jajajaja
En línea

rob1104


Desconectado Desconectado

Mensajes: 340


Usuario común


Ver Perfil WWW
Re: "El misterio de la variable indx" jaja
« Respuesta #16 en: 26 Octubre 2011, 22:42 pm »

Ya entendí el problema, la verdad si es algo raro que visual basic no destruya la variable al descargar el form =S

Compruebenlo de esta forma:

  • En un proyecto agregar dos form (form1 y form2)
  • Agregar un command a cada uno

Usar el sig. codigo en form1
Código
  1. Option Explicit
  2.  
  3. Private Sub Command1_Click()
  4.    Form2.Show
  5. End Sub

Y el sig codigo en form2
Código
  1. Option Explicit
  2. Dim i As Integer
  3.  
  4. Private Sub Command1_Click()
  5.    Unload Me
  6. End Sub
  7.  
  8. Private Sub Form_Load()
  9.    MsgBox i
  10.    i = i + 1
  11.    MsgBox i
  12. End Sub
  13.  

Al cerrar el form2 aun con el unload me la variable i conserva su valor. Obviamente esto se puede solucionar de muchas formas, y $Edu$ el método que utilizas de inicializar la variable 0 es muy valido, de hecho se recomienda siempre inicializar la variables para evitar este tipo de cosas. Otro detalle curioso es qui si la variable es declarada dentro de form_load() si se destruye su valor. En fin, visual basic y sus misterios :P


En línea

Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: "El misterio de la variable indx" jaja
« Respuesta #17 en: 26 Octubre 2011, 23:49 pm »

Y yo haciendoles poner miles de cosas para llegar al bug jajajaja, grande rob!

A ver si alguien descubre el porque :P
En línea

burbu_1

Desconectado Desconectado

Mensajes: 159


hamen gaoz


Ver Perfil
Re: "El misterio de la variable indx" jaja
« Respuesta #18 en: 27 Octubre 2011, 00:12 am »

buenas, no se si tendrá que ver.....pero he encontrado esto sobre la "variable global oculta"

Citar
Liberación completa de memoria y recursos

La única manera de liberar toda la memoria y los recursos es descargar el formulario y establecer todas sus referencias a Nothing. La referencia que más se suele pasar por alto al realizar esta tarea es la variable global oculta mencionada anteriormente. Si en algún momento ha hecho referencia al formulario por su nombre de clase (como aparece en la propiedad Name de la ventana Propiedades), ha utilizado la variable global oculta. Para liberar memoria del formulario, tiene que establecer esta variable a Nothing. Por ejemplo:

Set Form1 = Nothing

Citar

es la clase de problema que te da ganas de tirar el pc por la ventana  :laugh: :laugh: :laugh:
En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: "El misterio de la variable indx" jaja
« Respuesta #19 en: 27 Octubre 2011, 00:19 am »

Entonces obligados estamos a poner en el form_unload() set form = nothing ? que feo eso de vb6.. jaja

En .net por ejemplo existe el recolector de basura que se encarga de eso, por eso sera que no me paso nunca en .net?
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines