Usuários mais ativos no mês 12/2019
  1. henrique.muller

    843 Pontos

  2. paulo.silva

    842 Pontos

  3. maicon.pereira

    582 Pontos

  4. juliano.pezzini

    464 Pontos

  5. leandro.piscke

    428 Pontos

  6. diuari.molinari

    386 Pontos

  7. dirceu.schlickmann

    347 Pontos

  8. Camila

    288 Pontos

  9. bruno.cardoso

    272 Pontos

  10. Rafael Leonhardt

    253 Pontos

Erro ao chamar um dll delphi a partir do C#

0 votos
72 visitas

Ao realizar a criação da instancia da Dll delphi no C# o seguinte erro ocorre:

"An exception of type 'Benner.Tecnologia.Common.Exceptions.ObjectCreationException' occurred in Benner.Tecnologia.Interop.Vcltec.dll but was not handled in user code

Additional information: Não foi possível carregar a dll C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\servicesportalservicosdes\1944a56f\7274f8ea\assembly\dl3\61ffa2ba\00671d5e_a53cd001\FINANCEIRO. Motivo: The specified module could not be found (126)."

 

O código está da seguinte forma:           

Financeiro.IContaFin financeiro = DelphiActivator.CreateInstance("FINANCEIRO", "CONTAFIN") as Financeiro.IContaFin;

A dll "Financeiro" já foi registrada.

DLLs referênciadas:

Financeiro

Benner.Tecnologia.Interop.Vcltec

Benner.Tecnologia.Interop.CS1

Benner.Tecnologia.Commom

Benner.Tecnologia.Commom2


    Adendo: Estou fora do contexto Benner. Esta chamada deveria funcionar mesmo assim?       

perguntou Mar 30, 2015 por felipe.silva (45 pontos)
editado Mar 31, 2015 por felipe.silva
Felipe, por via das dúvidas utilize o nome nos mesmos cases da interface (CreateInstance("Financeiro", "ContaFin").
O erro persiste. Obrigado
Caso você tenha criado uma solution e esteja testando isto fora do contexto Benner, adicione a dll "Financeiro" nas referências do projeto, caso esta ainda não esteja adicionada.
Ela já está referenciada e registrada também.
O que você quer dizer com fora do contexto Benner?
Se ele criou um WinFormsApplication por exemplo, e está executando testes apenas referênciando DLL's Benner na aplicação 'servicesportalservicosdes'.
Não é que eu não esteja no contexto Benner, apenas não a estou utilizando no Runner, nem em uma aplicação com Wes.
Se o seu código não estiver rodando no Provider ou no Runner, o DelphiActivator não irá funcionar.

1 Resposta

+3 votos
 
Melhor resposta
Não é possível utilizar o DelphiActivator fora do contexto Benner. Existem tratamentos no AppDomain para isto funcionar.

Além disto, acredito que a Financeiro DLL é uma DLL Benner que requer, além do DelphiActivator funcionando, um ambiente todo armado para rodar algo (ex.: BSistema).
respondida Abr 6, 2015 por paulo.silva (842 pontos)
selecionada Abr 6, 2015 por felipe.silva

Perguntas relacionadas

...