Notifications
Clear all

Erro 49: Convenção de chamada DLL incorreta - Resolvido

3 Posts
2 Usuários
0 Reactions
1,351 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alguém aqui já viu esse erro? Está tudo bem com seu código, em tempo de projeto. Você lá, desenvolvendo, batendo cabeça no teclado, se fudendo, tomando café, horas e horas a fio.
De repente seu compilador roda tudo, e no final da rotina, após a última linha amarela, o End Sub, vc sabe que foi tudo certo, de repente esse erro aparece:

Você entra em desespero, e cai no Google. Passa horas no Google. Lá você encontrou soluções como:

    - verificar todas as chamadas de rotinas e funções quanto a tipagem de variáveis e objetos;
    - verificar todos os eventos se eles não se auto disparam novamente;
    - verificar todas as APIs;[/list:u:1rn1bmd0]

    Você faz tudo isso, sem sucesso. Você entra em parafuso pq não sabe como arrumar.

    Você atualiza seu Office. O erro continua.
    Você fecha e abre o Excel. Várias vezes. O erro continua.
    Você reinicia a máquina. O erro continua.
    Você reinicia em modo de segurança até, e o erro continua.
    Você tenta trabalhar em outro PC, o erro continua.
    Você está agora em modo de transe e desespero e se arrependendo de ter começado o projeto em Excel, pq:

      - esse mundo não é estável
      - onde você estava com a cabeça quando topou fazer essa bosta em VBA? [/list:u:1rn1bmd0]
      Você quer se matar!
      Você não sabe o que dizer pra namorada ou esposa que não para de enviar msg.
      Você não sabe como vai explicar pro seu chefe que de repente o que funcionava ontem, agora não funciona mais.
      Você faz um post gigante no facebook, lamentando-se e colocando uma frase que explica seu fracasso, mas sem muitos detalhes.

      Caramba , caraca, senhor do céu, isso nunca aconteceu antes, e de repente, sem razão aparente alguma, isso começa a acontecer. E sua vida está por um fio.
      Daí você vai no http://www.Planilhando.com.br , como último recurso, e tenta ver se alguém, algum dia, passou por isso. E você encontra o tópico que vai salvar a sua vida: este.

      Atenção, as próximas linhas vão fazer seu cérebro entrar em parafuso. Você não vai entender, nem gostar da solução mais simples do planeta. Algo que você dificilmente vai encontrar em qualquer literatura por aí. Algo que você certamente não tentou:
      1- Selecione a assinatura da rotina
      2- Tecle Ctrl+C
      3- Tecle Ctrl+V

      Pronto seus problemas acabaram. Isso mesmo. Era só você reescrever o nome da rotina, seja via Copiar/Colar, seja apagando e reescrevendo.
      Esta é a solução para o erro 49:
      em português: Convenção de chamada DLL incorreta
      em inglês: Bad DLL calling conversion

      Créditos: Adelson Silva e o link dele, pra ele ver que eu dei o crédito certinho
      https://www.linkedin.com/in/adelson-silva-67461418/
      Agora todo mundo pode entrar em contato com o maior gênio do VBA que existe, andando nesse Brasilzão !

      Artigo em inglês: ( http://www.linkedin.com/hp/update/6128188234527756288 )

       
Postado : 19/04/2016 7:21 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 
Você entra em desespero, e cai no Google. Passa horas no Google. Lá você encontrou soluções como:

    - verificar todas as chamadas de rotinas e funções quanto a tipagem de variáveis e objetos;
    - verificar todos os eventos se eles não se auto disparam novamente;
    - verificar todas as APIs;


Você faz tudo isso, sem sucesso. Você entra em parafuso pq não sabe como arrumar.

Você atualiza seu Office. O erro continua.
Você fecha e abre o Excel. Várias vezes. O erro continua.
Você reinicia a máquina. O erro continua.
Você reinicia em modo de segurança até, e o erro continua.
Você tenta trabalhar em outro PC, o erro continua.
Você está agora em modo de transe e desespero e se arrependendo de ter começado o projeto em Excel, pq:

    - esse mundo não é estável
    - onde você estava com a cabeça quando topou fazer essa bosta em VBA? 

Você quer se matar!
Você não sabe o que dizer pra namorada ou esposa que não para de enviar msg.
Você não sabe como vai explicar pro seu chefe que de repente o que funcionava ontem, agora não funciona mais.
Você faz um post gigante no facebook, lamentando-se e colocando uma frase que explica seu fracasso, mas sem muitos detalhes.

Com exceção do post gigante no facebook, me identifiquei demais... linha a linha do que está aí... kkkkkkkkk

Cara, e que solução hein...
Não sei qual seria a maior raiva, de ter dado o erro ou de ter solucionado dessa maneira...

Não me recordo de já ter visto esse erro especificamente, mas já me aconteceu isso antes, de eu apenas redigitar atenciosamente com receio de estar ficando dislexo de tanto código e as vezes digitar algo errado (as vezes o erro é só a falta de um ponto e vírgula... o famoso ponto e vírgula...), mas sempre salvo o código no bloco de notas para comparar (ou até deixar salvo caso queira voltar tudo diante uma tentativa frustrada). Notei que digitei exatamente a mesma coisa... Entretanto, como ceticamente executamos diversas vezes tentando entender, magicamente funcionou... Vai entender...

Sei que as vezes quando copiamos alguns códigos da internet, algumas páginas tem uma frescura de utilizar aspas "individuais"... Como as aspas da esquerda e as aspas da direita, e quando colamos diretamente no VBE, ele não identifica como aspas, tendo que substituir. Pooooooooode ser que mesmo sendo parecido, alguma coisa perca a formatação ou alguma identificação nessa linha que não consiga chamar a Dll... É uma hipótese... Pode não ser isso, logicamente, mas algo do tipo... Mais uma para lembrar...

 
Postado : 19/04/2016 8:09 am
(@edcronos2)
Posts: 0
New Member
 

já aconteceu comigo da planilha sem modificação ficar super lenta e dar pane por falta de recurso ,
sem falar que ficava executando não sei oq direto

foi um tal de verifica formulas macros, salvar aqui e ali , exclui abas , e nada
e para não perder todo o trabalho copiei as macros já que nem exportar estava funcionando
nisso eu fui tentar mais algumas coisas e reparei que em vez de copiar eu tinha recortado as macros
colei de volta e ..
a bagaça voltou a funcionar normal

 
Postado : 23/06/2016 12:41 pm