PROBLEMAS COM CLICK EM EVENTO DE CONTROLE
Bom dia amigos.
Estou com um problema que não encontro solução.
Fiz um skin próprio, onde crio instâncias do objeto Image e posiciono conforme necessidade. Meu programa é MDI em VB6.
O problema é que os botões Fechar e Informação (localizados na barra de tÃÂÂtulos estavam funcionando perfeitamente), porém incluàum novo form não MDI para exibir o Help do programa que é acionado por esse botão Informação. Ao clicar nele o form é exibido normalmente, mas ao fechar se clicar no botão Fechar da barra de TÃÂÂtulos (x do meu Skin) o VB dá erro e fecha o próprio VB. Já tentei de tudo e não identifico o problema.
Nota: O objeto image possui o evento Private WithEvents closNovo As Image declarado normalmente.
Nota: se incluir no clique desse botão uma chamada ao controle button que faz o mesmo fechar o form, também dá erro, mas se eu clico direto no botão fechar (button) não dá erro. Não entendo o que está ocorrendo, pois o problema é justamente no clique no (x).
Já usei Unload Me no lugar do Call e não adiante. Já usei o form de Help como Modal sem ser modal e o erro continua.
Alguém tem alguma idéia?
Estou com um problema que não encontro solução.
Fiz um skin próprio, onde crio instâncias do objeto Image e posiciono conforme necessidade. Meu programa é MDI em VB6.
O problema é que os botões Fechar e Informação (localizados na barra de tÃÂÂtulos estavam funcionando perfeitamente), porém incluàum novo form não MDI para exibir o Help do programa que é acionado por esse botão Informação. Ao clicar nele o form é exibido normalmente, mas ao fechar se clicar no botão Fechar da barra de TÃÂÂtulos (x do meu Skin) o VB dá erro e fecha o próprio VB. Já tentei de tudo e não identifico o problema.
Nota: O objeto image possui o evento Private WithEvents closNovo As Image declarado normalmente.
Nota: se incluir no clique desse botão uma chamada ao controle button que faz o mesmo fechar o form, também dá erro, mas se eu clico direto no botão fechar (button) não dá erro. Não entendo o que está ocorrendo, pois o problema é justamente no clique no (x).
Private Sub closNovo_Click()
Call cmdFechar_Click
End Sub
Já usei Unload Me no lugar do Call e não adiante. Já usei o form de Help como Modal sem ser modal e o erro continua.
Alguém tem alguma idéia?
A única coisa que consegui identificar até o momento é que se eu deixar a linha:
Ocorre o erro. Eu sempre usei isso nos meus projetos, e nunca tive problema já que é a única forma real de eliminar qualquer variável desse form da memória.
Acredito que por estar ativando uma sub pelo evento Click da imagem (botão x do meu skin), ele chama o unload do form que após terminar tudo limpa-o da memória, mas ainda não foi executada a instrução End Sub do evento desse (x) e acredito que seja esse o problema, ao voltar para a sub inicial e finalizar não está sendo possÃÂÂvel.
Para resolver o problema eu retirei a instrução set frmAtestados = Nothing do unload, e funcionou agora. Mas isso não ficou legal, pois abri mão de limpar a memória 100%.
Private Sub Form_Unload(Cancel As Integer)
' frmAtestados é o nome deste form
Set frmAtestados = Nothing
End Sub
Ocorre o erro. Eu sempre usei isso nos meus projetos, e nunca tive problema já que é a única forma real de eliminar qualquer variável desse form da memória.
Acredito que por estar ativando uma sub pelo evento Click da imagem (botão x do meu skin), ele chama o unload do form que após terminar tudo limpa-o da memória, mas ainda não foi executada a instrução End Sub do evento desse (x) e acredito que seja esse o problema, ao voltar para a sub inicial e finalizar não está sendo possÃÂÂvel.
Para resolver o problema eu retirei a instrução set frmAtestados = Nothing do unload, e funcionou agora. Mas isso não ficou legal, pois abri mão de limpar a memória 100%.
Tópico encerrado , respostas não são mais permitidas