Estructuras que sobrepasen los 64Kbytes
Tratamiento de estructuras en visual basic 6.0
? Proyecto en Visual Basic 6.0 en el cual se definen dos estructuras de datos dentro de un modulo .vas:
Public Const NUM_PTOS As Integer = 3600
-Estructura 1:
Public Type strucFich
numeropuntos As Long
alfa(1 To NUM_PTOS) As Double
radio(1 To NUM_PTOS) As Double
End Type
Public fich As strucFich
- Estructura 2:
Public Type strucXY
numeropuntos As Long
x(1 To NUM_PTOS) As Double
y(1 To NUM_PTOS) As Double
End Type
Public levaXY As strucXY
Cada estructura contiene un total de 57.604 bytes (4+28.800+28.800)
? Se define una función que recibe una estructura del tipo strucFich y devuelve una estructura del tipo strucXY:
Public Function kk(fich As strucFich) As strucXY
kk = levaXY
End Function
? Desde un modulo de programa, se llama a la función:
levaXY = kk(fich)
? Al ir a ejecutar el programa se produce el siguiente error:
! Compile error:
Too many local, nonstatic variables
Aceptar Ayuda
? La ayuda a dicho error indica:
Too many local, nonstatic variables
Local, nonstatic variables are variables that are defined within a procedure and reinitialized each time the procedure is called. This error has the following cause and solution:
? The sum of the memory requirements for this procedure's local, nonstatic variables and compiler-generated temporary variables exceeds 32K.
Declare some of your variables with the Static statement where appropriate. Static variables retain their value between procedure invocations because they are allocated from different memory resources than nonstatic variables.
Si intentamos definir como static las variables, no nos lo permite.
? Pregunta: ¿Es posible trabajar dentro de un procedimiento con grupos de estructuras que sobrepasen los 64Kbytes?
? Proyecto en Visual Basic 6.0 en el cual se definen dos estructuras de datos dentro de un modulo .vas:
Public Const NUM_PTOS As Integer = 3600
-Estructura 1:
Public Type strucFich
numeropuntos As Long
alfa(1 To NUM_PTOS) As Double
radio(1 To NUM_PTOS) As Double
End Type
Public fich As strucFich
- Estructura 2:
Public Type strucXY
numeropuntos As Long
x(1 To NUM_PTOS) As Double
y(1 To NUM_PTOS) As Double
End Type
Public levaXY As strucXY
Cada estructura contiene un total de 57.604 bytes (4+28.800+28.800)
? Se define una función que recibe una estructura del tipo strucFich y devuelve una estructura del tipo strucXY:
Public Function kk(fich As strucFich) As strucXY
kk = levaXY
End Function
? Desde un modulo de programa, se llama a la función:
levaXY = kk(fich)
? Al ir a ejecutar el programa se produce el siguiente error:
! Compile error:
Too many local, nonstatic variables
Aceptar Ayuda
? La ayuda a dicho error indica:
Too many local, nonstatic variables
Local, nonstatic variables are variables that are defined within a procedure and reinitialized each time the procedure is called. This error has the following cause and solution:
? The sum of the memory requirements for this procedure's local, nonstatic variables and compiler-generated temporary variables exceeds 32K.
Declare some of your variables with the Static statement where appropriate. Static variables retain their value between procedure invocations because they are allocated from different memory resources than nonstatic variables.
Si intentamos definir como static las variables, no nos lo permite.
? Pregunta: ¿Es posible trabajar dentro de un procedimiento con grupos de estructuras que sobrepasen los 64Kbytes?
Respuesta de ne2soft
1
3 respuestas más de otros expertos
Respuesta
1
Respuesta de java
1
Respuesta de amallolm
1