Ir para conteúdo

POWERED BY:

Arquivado

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

Brunay

Problemas com código recursivo e Option Explicit

Recommended Posts

Moçada, estou com o seguinte problema:

 

Fiz um código recursivo, onde uma função chama a mesma função para montar um diretório de menus.

Já estou um dia neste problema e já sei a causa dele, mas não sei como resolver.

 

Quando eu uso <% Option Explicit %> na página dá erro no script, quando eu tiro funciona normalmente.

 

Como eu faço para resolver o problema, pois preciso usar o option explicit para forçar a declaração das variáveis no meu sistema.

 

Obrigado! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce deve declarar todas as suas variaveisqual erro que dá???

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é esse:ADODB.Recordset erro '800a0bcd' BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual. Quando comento o Option Explicit o código funciona normalmente. Mas preciso q o mesmo esteja funcionando pois este módulo do sistema roda dentro de outro módulo e o Option Explicit é fundamental.

Compartilhar este post


Link para o post
Compartilhar em outros sites

este erro não tem muito a ver com option explicit não??qual a linha do erro???

Compartilhar este post


Link para o post
Compartilhar em outros sites

<% @Language=VBScript %> <% Option Explicit %> dim vt(10,1) ' só de teste eu redimension de acordo com os registros. contador = 0 'Esta função conta em que nivel vai ficar o menu para hidentar o menu na página.. function contarMN(codigo,x) sql = "select * from STMenus where STCodMenu="& codigo set rs = conn.execute(sql) if not rs.eof then do while not rs.eof x = x + 1 session("STWidth") = x call contarMN(rs("STCodMenuRel"),x) rs.MoveNext Loop end ifend function 'esta função monta o menu--- function montarMn(codigo) sql = "select * from STMenus where STCodMenuRel="& codigo set rs = conn.execute(sql) if not rs.eof then do while not rs.eof vt(contador,0) = rs("STMenu") if cdbl( rs("STCodMenuRel") ) = 0 then vt(contador,1) = 1 else session("STWidth") = 1 call contarMN(rs("STCodMenuRel"), session("STWidth")) vt(contador,1) = session("STWidth") end if contador = contador + 1 call montarMN(rs("STCodMenu")) rs.MoveNext ' --->>>>>>>>>>>>>>>>>>>>>> O ERRO OCORRE AQUI Loop end if end function 'aqui começa a brincadeira.. call montarMN(0)

Compartilhar este post


Link para o post
Compartilhar em outros sites

onde você está declarando as variáveis???Com option.explicit é obrigatório declarar todas as variáveis e objetos.Tem dois recordsets com o mesmo nome também, é mais indicado usar dois objetos distintos.[]s

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.