Forum > Portuguese
Erro ao executar um método de DLL feita em C#
(1/1)
wandrey:
Estou tentando utilizar uma DLL feita em C# e quando vou executar um método específico, onde passo por parâmetro 2 objetos, tenho o seguinte erro:
Projeto Treinamento elevou classe exceção 'EOleSysError' com a mensagem:
Parâmetro incorreto.
No endereço: 10019F5DD
Imagem do erro anexada.
Erro ocorre na linha 28 do código abaixo.
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure TfrmPrincipal.btnConsultaStatusNFeClick(Sender: TObject);var oConfiguracao: OleVariant; oConsStatServ: OleVariant; oStatusServico: OleVariant; oExceptionInterop: OleVariant;begin // Criar objeto de configuração mínima oConfiguracao := CreateOleObject('Unimake.Business.DFe.Servicos.Configuracao'); oConfiguracao.TipoDFe := 0; //0=NFe oConfiguracao.CertificadoArquivo := 'C:\Projetos\certificados\UnimakePV.pfx'; oConfiguracao.CertificadoSenha := '12345678'; //Criar objeto do XML oConsStatServ := CreateOleObject('Unimake.Business.DFe.Xml.NFe.ConsStatServ'); oConsStatServ.Versao := '4.00'; oConsStatServ.TpAmb := 2; //2=Homologação oConsStatServ.CUF := 41; //41=Paraná ShowMessage(oConsStatServ.cUF); //Criar objeto para pegar exceção do lado do CSHARP oExceptionInterop := CreateOleObject('Unimake.Exceptions.ThrowHelper'); try //Consumir o serviço oStatusServico := CreateOleObject('Unimake.Business.DFe.Servicos.NFe.StatusServico'); oStatusServico.Executar(oConsStatServ, oConfiguracao); //XML retornado pela SEFAZ //ShowMessage(oStatusServico.RetornoWSString); //Código de Status e Motivo //ShowMessage(IntToStr(oStatusServico.Result.CStat)); //ShowMessage(oStatusServico.Result.XMotivo); except //ShowMessage(oExceptionInterop.GetMessage()); //ShowMessage(IntToStr(oExceptionInterop.GetErrorCode())); end;end;
Códigos anteriores, onde crio os objetos das classes da DLL em C#, funcionam. Inclusive no ShowMessage da linha 20 consigo recuperar informações, o que me faz acreditar que a DLL está bem registrada no Windows e os objetos foram criados corretamente.
Por favor, alguém tem informação que possa ajudar na solução deste erro?
Navigation
[0] Message Index