Erro 70 no tempo de execução no VB6: permissão negada

Definição

Erro 70 em tempo de execução é um problema de segurança ou permissões. A mensagem em si é uma das mensagens de erro mais ocultas que o usuário pode ver quando o programa é executado, já que a única mensagem recebida é "Permissão negada". Esse erro pode ser difícil de diagnosticar, especialmente em programas grandes que possuem muitos componentes executados ao mesmo tempo. A mensagem em si implica que o programa não tem a autoridade correta para usar um recurso que não está integrado ao programa.

Causas

Esse erro geralmente ocorre quando o programa tenta acessar arquivos ou ferramentas que não têm as permissões apropriadas, como gravar documentos protegidos ou componentes de software do modelo de objeto e componente. No entanto, há muitas outras situações em que o erro pode aparecer, muitas das quais estão relacionadas a objetos COM e DCOM, como ter essas opções desativadas, usá-las para acessar domínios que não são confiáveis ​​ou quando um deles causa um evento que seu programa deve manipular.

Resolução

Muitas vezes você só descobrirá erros de execução depois que um programa os apresentar. Como esse erro geralmente é causado pela falta de acesso a arquivos externos ao programa, o que você precisa saber é quais funções ou componentes do programa não conseguem acessar esses recursos e, portanto, causar problemas. Isso ajudará você a indicar quais recursos estão bloqueados, para que você possa diagnosticar e resolver o problema. Em muitos casos, você pode corrigir o erro concedendo acesso de usuário a ferramentas, como o aplicativo de servidor DCOM ou o Microsoft Transaction Server.

Prevenção

Ao projetar seu programa Visual Basic 6, você pode escrever código para interceptar e controlar o erro de runtime 70. Use a instrução do Visual Basic "On Error" ao escrever um código que pode resultar nesse erro (ou qualquer outro). Quando o programa tenta lançar o erro, o código do driver de erro o pega, o que lhe permite decidir como você deseja que o seu programa responda. Um exemplo é informar aos usuários com mais detalhes o que deu errado ou permitir que o programa continue sem parar.