Ver Mensaje Individual
  #10 (permalink)  
Antiguo 16/06/2005, 11:12
Avatar de Neuron_376
Neuron_376
 
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años
Puntos: 2
Hola

Probaste esa sintaxis ?

Creo que debería ser como:

Dim carro

'Detalle, necesitas decir set... pero no he probado sin set
set carro = session("Carro")

carro.Remove(clave) 'Trabajas con la variable

session("Carro") = carro 'Y acá, los cambios que realizas con la variable "carro" los guardas nuevamente en la sesión

De la última línea, no estoy seguro si pasan estas dos cosas:

1. Si usas set VAR = session("OBJ"), entonces en VAR se crea completamente una colección nueva de elmentos, entonces al momento de hacer VAR.REMOVE, se hace solamente sobre ese objeto y no sobre session, por lo cual, la última línea sería totalmente necesaria.

2. Si usas set VAR = session("OBJ"), solamente se crea una instancia hacia session("OBJ"), entonces cuando haces VAR.REMOVE, automáticamente ya se elimino de session("OBJ"), porque VAR estaba apuntando a session("OBJ")

Por otra parte, quizás caso 1, pasa con SET, y caso dos pasa si no usas SET, pero es importante revisar ese caso y estar seguro, para ustedes que están realizando tantas modificaciones a ese objeto de SESSION.

Por otra parte, yo recomendaría que si pueden trabajar directo con el objeto en SESSION, pues es mejor que bajarlo a una variable local.

Pero si es perfectamente valido pasarlo por referencia a una función como:

mostrarProductos(session("OBJ"))

function mostrarProductos(ByRef obj)

Eso es totalmente correcto, pero me refiero, a que si lo usas en una misma página para algo rapido, pues mejor usarlo directo en SESSION, como...

session("Carro").Remove(clave) 'Trabajas con session

Así te evitas muchos movimientos en la memoria.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com