DLL (Delphi) x .Net
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.
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
Curtidas 0
Respostas
Rodolpho Silva
03/12/2012
Você deseja que uma DLL feita em Delphi rode dentro do Visual Studio? É isso?
GOSTEI 0
Thiago Garcez
03/12/2012
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)
Pegue o Delphi 8 .NET e faça uma nova DLL ao exportar prepare para .NET(Assembly)
GOSTEI 0
Rodolpho Silva
03/12/2012
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.
"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.
GOSTEI 0
Thiago Garcez
03/12/2012
Sim você poder usar o ActiveX Library. Porém ela ainda não fica em Assembly, você consegue usar assim.
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.
[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.
GOSTEI 0
Rodolpho Silva
03/12/2012
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...
Não entendi onde complicou...
GOSTEI 0