Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LuX_

Colocando Objetos na Sessão

Recommended Posts

Boa tarde pessoal, estou fazendo uma espécie de carrinho de compras e a cada produto selecionado eu tenho que passar a quantidade e o código do produto por sessão.

Eu poderia criar duas variáveis de Sessão Session("produto") e Session("qtde") e em cada uma colocar um array, mas eu to usando orientação a objeto e gostaria de passar um objeto do tipo BuyKart para a sessão. este objeto tem 2 variáveis: qtde e product. O Objeto qtde guarda a quantidade e o product guarda outro objeto do tipo Product e que contem várias variáveis, mas apenas será setada a variável code (código do produto)

 

Dessa forma eu queria passar um array de objetos do tipo produto, mas algo estranho acontece ao tentar guardar o array de objetos na Sessão.

Fiz um teste pra facilitar pra vcs:


        cp = Request.Form("cp")
	qt = Request.Form("qtde")
	kart = Array()
	redim kart(0)
	set kart(0) = new BuyKart
	kart(0).qtde = 9
	set kart(0).product = new Product
	kart(0).product.code = 444
	Session("kart") = kart
        Response.write Session("kart").qtde

Isso funciona perfeitamente e ele escreve o valor "444" da variavel qtde, mas é só trocar de página e ele dá erro ao acessar a variável do objeto:

 Response.write ubound(Session("kart"))
 Response.write isobject(Session("kart")(0))
 Response.write Session("kart")(0).qtde ' <- Nessa linha é que dá o erro.

Ele escreve os dois primeiros valores numa boa. Retorna o tamanho certinho do array no primeiro e retorna true no segundo. Perfeito

É só eu acessar a variável (n caso a qtde) e ele dá falha catastrófica.

 

ATENÇÃO

Ele dá dois erros diferentes e fica alternando conforme atualizo a página:

 

Primeiro:

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A01B6)

O objeto não dá suporte para a propriedade ou método: 'qtde'

/projeto/lay/testeprodflush.asp, line 13

 

Segundo:

tipo de erro:

(0x8000FFFF)

Falha catastrófica

/projeto/lay/testeprodflush.asp, line 13

 

Não sei o que fazer. Espero que possam me ajudar, tenho prazo =/

 

Valeu pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certifique-se de usar a versão mais recente do MDAC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá xanburzum, já tenho a mais recente. E Mesmo assim não rolou. Como eu posso fazer? idéia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.