Fórum DLL (Delphi) x .Net #430255

03/12/2012

0

Pessoal tenho um dll criado no Delphi 7 para ser importada no .NET(Visual Studio 2010, C#).

Se eu usar o recurso DLLImport posso fazer normalmente. Porém não consigo referenciar a DLL ao Projeto.
No Delphi eu posso mudar o tipo para C ou C++ mais C# ou Assembly não.

Olhando a minha biblioteca e outras dll que estou usando verifiquei que todas são em Assembly.


Então queria saber se alguém sabe como posso criar a DLL em Assembly ou alguma outra versão no Delphi que faça isso.
Thiago Garcez

Thiago Garcez

Responder

Posts

04/12/2012

Rodolpho Silva

Você deseja que uma DLL feita em Delphi rode dentro do Visual Studio? É isso?
Responder

Gostei + 0

04/12/2012

Thiago Garcez

Isso mesmo, mais consegui resolver para a DLL rodar dentro do VS2010(Como referencia) ela precisa ser em Assenbly. Coisa que o Delphi 7 não faz.

Pegue o Delphi 8 .NET e faça uma nova DLL ao exportar prepare para .NET(Assembly)
Responder

Gostei + 0

04/12/2012

Rodolpho Silva

Não. O Delphi7 faz sim
"ela precisa ser em Assembly. Coisa que o Delphi 7 não faz."
Faz sim, se você criar a DLL como ActiveX Library.
Tenho uma DLL feita em Delphi7 que roda no .NET, Progress, Delphi, Java, etc.
Responder

Gostei + 0

10/12/2012

Thiago Garcez

Sim você poder usar o ActiveX Library. Porém ela ainda não fica em Assembly, você consegue usar assim.

[DllImport(@"D:\Projetos\DAL\bin\W01.dll", CallingConvention=CallingConvention.StdCall, CharSet=CharSet.Ansi)]
static extern void ChamaErro([MarshalAs(UnmanagedType.AnsiBStr)]string Erro);



Porém eu queria Referencia ao projeto, um outro processo só o ActiveX Library não funciona. Eu criei uma nova DLL no Delphi 8.NET com toda a estrutura para .NET ai funcionou.
Responder

Gostei + 0

10/12/2012

Rodolpho Silva

Não entendi....Prq vc quer que ela fique em Assembly? Consigo referenciar a minha DLL no Visual Studio, Progress, Java, etc.., enxergar todos os métodos e propriedades, tudo via ActiveX.

Não entendi onde complicou...
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar