none
Problemas com funcionamento do DllImport. RRS feed

  • Pergunta

  • Olaa,

    Possuo uma DLL de terceiros que preciso consumir, para tal utilizei o Dllimport conforme mostrado abaixo:

    using System;
    using System.Runtime.InteropServices;
    
    public static class Autenticacao
    {
        [DllImport("C:\DllsTeste\Auth.dll")]
        private static extern void GerarTokenAutent(string nome, string funcao, string resposta);
    
        public static string ObterTokenAutenticacao(string nome, string funcao) 
        }
            string resposta = null;
    
            try{
    
                Autenticacao.GerarTokenAutent(nome, funcao, resposta);
    
            }catch(Exception Ex){
    
               throw;
            }
            return resposta;
        }
    }

    Só que nenhum erro é gerado, já compilei em X86, em X64 e não obtenho nenhuma resposta da DLL que estou consumindo, segue abaixo algumas dúvidas:

    A) Existe algum erro referente ao uso do DLLImport ?

    B) Existe alguma outra possibilidade de consumir a DLL de autenticação sem utilizar o Dllimport ?

    * Em qualquer situação enviada a DLL que estou consumindo retornará uma resposta, mas não é o que está ocorrendo.

    De antemão, agradecido.

    Atenciosamente.


    • Editado drigoDev domingo, 30 de novembro de 2014 04:46
    domingo, 30 de novembro de 2014 04:35

Respostas

  • teu método é um void, não tem nenhum retorno, apenas set de parâmentro.

    eu utilizo dll de terceiros em minhas aplicações, mas quando preciso de retorno tenho um return na função, adaptei tua chamada no código abaixo.

    [System.Runtime.InteropServices.DllImport(@"C:\DllsTeste\Auth.dll")]
            private static extern string GerarTokenAutent(string nome, string funcao);
    
            public static string ObterTokenAutenticacao(string nome, string funcao)
            {
                string resposta = null;
    
                try
                {
    
                    resposta = Autenticacao.GerarTokenAutent(nome, funcao);
    
                }
                catch (System.Exception Ex)
                {
    
                    throw;
                }
                return resposta;
            }

    Gilson Joanelo - Desenvolvedor Web

    • Sugerido como Resposta Herbert Lausmann domingo, 30 de novembro de 2014 21:33
    • Marcado como Resposta drigoDev sábado, 13 de dezembro de 2014 14:53
    domingo, 30 de novembro de 2014 20:59