Autor
|
Tema: (solucionado) [vb] problema al declarar una variable (Leído 6,928 veces)
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
Hola, empezé a leer el manual de la chincheta y ya nada más empezar me encuentro con este problema. Se supone que static sirve para que la variable se almacene en la memoria durante toda aplicación (O eso dice le manual), ¿Entonces porque la variable "muere" y no puedo utilizara en ninguna otra función? Ejemplo: en un procedimiento uso Static FName As String
luego en otro procedimiento uso y aparece vacío ¿Lo estoy haciendo mal?
|
|
« Última modificación: 13 Julio 2011, 23:54 pm por pitoloko »
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
¿Lo estoy haciendo mal?
No exactamente, lo estas haciendo incompleto Te falta setearlo. Hacer el FName = "algo" Y ademas cuenta el ambito. Si pones esto Private Sub Form_Load() Static FName as String FName = "Hola Pitoloko" End Sub ' 1 Boton Private Sub Command1_Click() MsgBox FName End Sub
No funciona (con option explicit arriba de todo) o sale un cartel vacio (sin option explicit) cuando presionas el boton ya que FName esta declarado en Form_Load, cuando termina de ejecutar ese sub, FName no existe mas
|
|
|
En línea
|
|
|
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
¿Y como evito ese ámbito? El mismo ejemplo que has dado me sirve, ¿Como haría tu code para usar FName en el msgbox de command1? He intentado cambiando la declaración Public Sub Form_Load() , pero nada
|
|
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
Elemental Code
Desconectado
Mensajes: 622
Im beyond the system
|
escribi la parte de Static... Afuera de cualquier sub
y llama al msgbox en el evento click del commandbutton.
|
|
|
En línea
|
I CODE FOR $$$ Programo por $$$ Hago tareas, trabajos para la facultad, lo que sea en VB6.0 Mis programas
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
No hace falta que sea static. Con Dim es suficiente (de hecho, no vas a notar diferencia )
|
|
|
En línea
|
|
|
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
perfecto ! gracias a los 2
|
|
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Lo feo de pasar de Batch a otro lenguaje xD A mi me paso lo mismo pero segui consejos de Raul q es un grande ( mema ) jajaja
|
|
|
En línea
|
|
|
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
xDDDDDDDDDD Si pero hacer los formularios es lo más fácil del mundo... En cambio lo que cuesta hacer las cosas "por dentro", cada función, uf . Tengo otro problema: Const stPath As String = FName & "\" ¿Como se haría? PD: FName es un string
me recuerda a batch (setear una variable como otra variable)
|
|
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Entiende lo que estas trantando de hacer. Const es para definir una constante y si le pones una variable en su definicion, sera variable (y no constante ) Si pero hacer los formularios es lo más fácil del mundo... En cambio lo que cuesta hacer las cosas "por dentro", cada función, uf . me recuerda a batch (setear una variable como otra variable) Esto te pasa por pasar de un lenguaje de scripting a un lenguaje de programacion
|
|
|
En línea
|
|
|
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
Entiende lo que estas trantando de hacer. Const es para definir una constante y si le pones una variable en su definicion, sera variable (y no constante ) No había llegado a ese punto Una constante es un nombre significativo que sustituye a un número o una cadena que no varía. Aunque una constante recuerda ligeramente a una variable, no puede modificar una constante o asignarle un valor nuevo como ocurre con una variablLas constantes simbólicas o definidas por el usuario se declaran mediante la instrucción Const. Crear constantes propias[Public|Private] Const nombreConstante[As tipo] = expresiónLa idea me ha quedado más o menos clara (Bueno, no mucho). Pero entonces como podría resolver el problema que tengo con FName? ¿O tal vez no se puede? digo yo que alguna alternativa habrá a ver, analizemos... tengo una variable y quiero usar el resultado de esa variable en una constante... buf, pues ni idea xD, he buscado en google como hacerlo, pero ni idea ¿Algún consejo? EDITO: ya he resuelto el problema, pero he tenido que borrar la constante para conseguirlo, no creo que sea muy correcto para un buen programador. no se encontrar alternativas
|
|
« Última modificación: 14 Julio 2011, 08:09 am por pitoloko »
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[MOD] Declarar variable parar dividir parte entera y real
« 1 2 3 »
Programación Visual Basic
|
frankiani
|
20
|
14,396
|
3 Julio 2009, 15:17 pm
por Karcrack
|
|
|
[solucionado] Declarar una variable global
« 1 2 »
Programación Visual Basic
|
CAR3S?
|
17
|
10,270
|
25 Abril 2011, 04:23 am
por CAR3S?
|
|
|
[SOLUCIONADO] Problema en un While + variable + io.directory.getfiles
.NET (C#, VB.NET, ASP)
|
Eleкtro
|
0
|
2,345
|
30 Enero 2013, 19:32 pm
por Eleкtro
|
|
|
(Python) Porque no se puede declarar una variable que empieze con un numero?
Scripting
|
BigKaz
|
1
|
2,033
|
20 Noviembre 2016, 01:40 am
por engel lex
|
|
|
No puedo declarar la variable por ser un tipo abstracto
« 1 2 »
Programación C/C++
|
Borito30
|
14
|
5,900
|
14 Marzo 2017, 13:49 pm
por Borito30
|
|