Cambio Visual Basic 6.0 a Visual Studio .Net

05/05/2004 - 17:11 por Julian Olmo | Informe spam
Hola:

Tenemos una aplicación en Visual Basic 6.0 y necesitamos
migrarla a Visual Studio .NET. Tenemos el siguiente código
supuestamente ya migrado:

Public Const RSI_LEN_DATA_BANK = 4096

Public Structure RSI_DATA_BANK
<VBFixedArray(RSI_LEN_DATA_BANK - 1)> Dim data()
As Byte

Public Sub Initialize()
ReDim data(RSI_LEN_DATA_BANK - 1)
End Sub
End Structure

Declare Auto Function rsiGetDataBank Lib "rsidll32" ( _
ByVal chnl As Integer, _
ByVal bnk As Integer, _
ByRef dbnk As RSI_DATA_BANK _
) As Integer

Declaramos e inicializamos:
Dim BancoMemoria1 As RSI_DATA_BANK
Dim BancoMemoria2 As RSI_DATA_BANK
BancoMemoria1.Initialize()
BancoMemoria2.Initialize()

Llamamos a la función:

Result = rsiGetDataBank(clave, 0, BancoMemoria1)

Al llamar a la función nos da el el siguiente error:

Excepción no controlada del
tipo 'System.TypeLoadException' en WindowsApplication2.exe

Información adicional: No se pueden calcular referencias
del campo data del tipo RSI_DATA_BANK: no se pueden
calcular las referencias de este tipo como campo de
estructura.


Si alguien se ha encontrado con un problema similar y ha
conseguido solucionarlo agradecería sus indicaciones.

Muchas gracias y saludos,

Julián Olmo.
 

Leer las respuestas

#1 Guillermo guille
07/05/2004 - 01:08 | Informe spam
Hola,

No conozco esa función del API, pero... vamos a intentarlo.

Primero prueba declarando data como público.

Si eso no lo arregla, prueba definiendo la estructura sin el método Initialize:

Public Structure RSI_DATA_BANK
Public data(RSI_LEN_DATA_BANK - 1) As Byte
End Structure

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Te invito a mi sitio dedicado al VB y más...
http://www.elguille.info/
http://www.mundoprogramacion.com/
(puede que el correo usado sea anti-spam)


"Julian Olmo" wrote in message
news:8b3201c432b3$4cfe5e50$
Hola:

Tenemos una aplicación en Visual Basic 6.0 y necesitamos
migrarla a Visual Studio .NET. Tenemos el siguiente código
supuestamente ya migrado:

Public Const RSI_LEN_DATA_BANK = 4096

Public Structure RSI_DATA_BANK
<VBFixedArray(RSI_LEN_DATA_BANK - 1)> Dim data()
As Byte

Public Sub Initialize()
ReDim data(RSI_LEN_DATA_BANK - 1)
End Sub
End Structure

Declare Auto Function rsiGetDataBank Lib "rsidll32" ( _
ByVal chnl As Integer, _
ByVal bnk As Integer, _
ByRef dbnk As RSI_DATA_BANK _
) As Integer

Declaramos e inicializamos:
Dim BancoMemoria1 As RSI_DATA_BANK
Dim BancoMemoria2 As RSI_DATA_BANK
BancoMemoria1.Initialize()
BancoMemoria2.Initialize()

Llamamos a la función:

Result = rsiGetDataBank(clave, 0, BancoMemoria1)

Al llamar a la función nos da el el siguiente error:

Excepción no controlada del
tipo 'System.TypeLoadException' en WindowsApplication2.exe

Información adicional: No se pueden calcular referencias
del campo data del tipo RSI_DATA_BANK: no se pueden
calcular las referencias de este tipo como campo de
estructura.


Si alguien se ha encontrado con un problema similar y ha
conseguido solucionarlo agradecería sus indicaciones.

Muchas gracias y saludos,

Julián Olmo.

Preguntas similares