Não é possível converter um objeto do tipo 'GeneXus.Programs.plano_bc' no tipo 'GeneXus.Utils.IGxSilentTrn'.
Pois a transação Plano havia sido marcada como BC. Mas acontece que a interface parou de repente de funcionar e começou a apresentar esse erro estranho, claro que estava mexendo no programa, para ser mais preciso estava depurando erros, mas não ficou nenhuma dica do que estava acontecendo.
Depurador de Erros
Fazia tempo que algo tão inusitado não acontecia. E quando isso ocorre, o que fazer a não ser perder um pouco de tempo com tentativas para solucionar a coisa:- Comentei todo código (não adiantou nada)
- Apaguei a tela (não adiantou nada)
- Apaguei a variável que referenciava o BC (adiantou!)
Quando se abre o modo DEBUG no Genexus, o interessante é dar um BUILD (Não precisa de REBUILD), para construir o objeto que se deseja depurar neste modo. Tem até uma janela que mostra os objetos que estão sendo construídos neste modo, fica ao lado direito e se chama DebugGx. É possível inclusive incluir e remover objetos através desta janela.
O que ocorria com o tal Plano_BC que causava o erro era um pequeno detalhe que sempre passava despercebido, o navegador estava aberto com este objeto, então via de regra, ao iniciar o depurador a primeira coisa que se deve fazer, antes mesmo do BUILD é fechar o navegador, e tudo mais que pode estar bloqueando ou mesmo referenciando algum objeto.
Outro detalhe importante é ao término da depuração retornar o Genexus ao modo normal (RELEASE), caso contrário você incorre na possibilidade de enviar para o servidor de produção objetos com debug ligado e nesse caso o mesmo apresentará uma série de mensagens estranhas para os seus usuários.
Nenhum comentário:
Postar um comentário