Asp y Dll.Net (parámetros ByRef)

03/02/2004 - 17:32 por xandre | Informe spam
Tengo una dll hecha en VB.Net que tiene procedimientos a
los cuales se le pasan parámetros por referencia dado que
se actualizan dentro de ellos.
El problema está en que el asp llamo a esos procedimientos
pasandoles los objetos y hasta aquí no hay problema, pero,
esos objectos tienen que volver actualizados y realmente
no sucede eso, queda el objeto tal cual se modificó antes
de llamar a dicho procedimiento.

Ejemplo:

Web ASP:
Dim varA
Dim varB

varA = 20

Dim cn
set cn = CreateObject("MyDll.Conexion")

'varA = 20, varB = 0
cn.GetVarB(varA, varB)

'varA = 0, varB = 0
Response.Write(varB)


Dll Vb.Net
Public Sub GetVarB(ByVal myVarA As Integer, ByRef myVarB
As Integer)
myVarB = myVarA * 2
myVarA = 0
End Sub


varB (en el ASP) debería ser 40, sin embargo es 0.

Espero que alguien encuentre la solución.

Un saludo

Preguntas similare

Leer las respuestas

#1 urko
03/02/2004 - 17:45 | Informe spam
cuando llamas a la dll
cn.GetVarB(varA, varB)
igual tendrias que pasarlo

cn.GetVarB($varA, $varB)
digo antes de cada variable un $ o otro caracter
exactamente no se que va antes de cada variable pero para indicar que le
pasas por referencia.
saludos
urko


"" escribió en el
mensaje news:8e9b01c3ea73$44fff6b0$
Tengo una dll hecha en VB.Net que tiene procedimientos a
los cuales se le pasan parámetros por referencia dado que
se actualizan dentro de ellos.
El problema está en que el asp llamo a esos procedimientos
pasandoles los objetos y hasta aquí no hay problema, pero,
esos objectos tienen que volver actualizados y realmente
no sucede eso, queda el objeto tal cual se modificó antes
de llamar a dicho procedimiento.

Ejemplo:

Web ASP:
Dim varA
Dim varB

varA = 20

Dim cn
set cn = CreateObject("MyDll.Conexion")

'varA = 20, varB = 0
cn.GetVarB(varA, varB)

'varA = 0, varB = 0
Response.Write(varB)


Dll Vb.Net
Public Sub GetVarB(ByVal myVarA As Integer, ByRef myVarB
As Integer)
myVarB = myVarA * 2
myVarA = 0
End Sub


varB (en el ASP) debería ser 40, sin embargo es 0.

Espero que alguien encuentre la solución.

Un saludo
Respuesta Responder a este mensaje
#2 xandre at batirtxe dot com
03/02/2004 - 18:47 | Informe spam
Que yo sepa, eso no se puede hacer, pero gracias de todas
formas.

Lo probé, por si acaso, y no funciona. Da diversos errores
con diversos caracteres.
:)

cuando llamas a la dll
cn.GetVarB(varA, varB)
igual tendrias que pasarlo

cn.GetVarB($varA, $varB)
digo antes de cada variable un $ o otro caracter
exactamente no se que va antes de cada variable pero para


indicar que le
pasas por referencia.
saludos
urko


"xandre at batirtxe dot com"


escribió en el
mensaje news:8e9b01c3ea73$44fff6b0$
Tengo una dll hecha en VB.Net que tiene procedimientos a
los cuales se le pasan parámetros por referencia dado que
se actualizan dentro de ellos.
El problema está en que el asp llamo a esos procedimientos
pasandoles los objetos y hasta aquí no hay problema, pero,
esos objectos tienen que volver actualizados y realmente
no sucede eso, queda el objeto tal cual se modificó antes
de llamar a dicho procedimiento.

Ejemplo:

Web ASP:
Dim varA
Dim varB

varA = 20

Dim cn
set cn = CreateObject("MyDll.Conexion")

'varA = 20, varB = 0
cn.GetVarB(varA, varB)

'varA = 0, varB = 0
Response.Write(varB)


Dll Vb.Net
Public Sub GetVarB(ByVal myVarA As Integer, ByRef myVarB
As Integer)
myVarB = myVarA * 2
myVarA = 0
End Sub


varB (en el ASP) debería ser 40, sin embargo es 0.

Espero que alguien encuentre la solución.

Un saludo


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida