Ir para conteúdo
Fórum Script Brasil
  • 0

Problema ao utilizar Dll feita em C++


alecandretraci

Pergunta

Pessoal, preciso com muita urgência

estou tentando utilizar uma dll feita em C++ desenvolvida pela Urano (balança) em um projeto em VB6, o problema é porque as funções da dll começam com o caracter "_" (Ex: _AbrePortaSerial)28Ex: _AbrePortaSerial) e o VB6 não aceita nada que começa com este caracter, alguém sabe como posso utilizá-la, alguma idéia.

O que já tentei:

- fazer referência da dll no projeto pelo Menu --> Project --> References

- declarar da seguinte maneira: Declare Function AbrePortaSerial Lib "LePeso.dll" Alias "_AbrePortaSerial" (ByVal Canal As String) As Integer (quanto ao parâmetro da função está correto, ok)

Ao rodar o projeto aparece o seguinte erro: Bad dll calling convention

Obrigado.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

então, senao me engano o erro bad dll convention tem a ver com os parametros. ele não daria esse erro se não tivesse identificado a funcao.

apesar de q você diz q o parametro ta correto, eu acho q o problema ta ai...

você sabe como ta declarada esse parametro dentro do c++?? é como *char (pontero de char) mesmo?? ou seria somente como char??

se for como *char, tenta declarar no visual basic com ByRef em vez de ByVal. se for char, tem q ser Byte.

Link para o comentário
Compartilhar em outros sites

  • 0
então, senao me engano o erro bad dll convention tem a ver com os parametros. ele não daria esse erro se não tivesse identificado a funcao.

apesar de q você diz q o parametro ta correto, eu acho q o problema ta ai...

você sabe como ta declarada esse parametro dentro do c++?? é como *char (pontero de char) mesmo?? ou seria somente como char??

se for como *char, tenta declarar no visual basic com ByRef em vez de ByVal. se for char, tem q ser Byte.

sim é *char, veja como veio no manual da dll:

_AbrePortaSerial

Função: abre a porta serial para comunicação

Protótipo: int AbrePortaSerial(char*);

Parâmetros: Nome da porta serial: "COM1", "COM2", ...

Retorno: 1 - sucesso ou 0 - insucesso

Comentário: está função configura a porta serial com base no modelo de balança e modo de operação da mesma.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...