Trabalar com Classes em C# em aplicativos win32...
Pessoal.. meu primeiro post aki... estavamos desenvolvendo um projeto enorme em .NET com o MVS 2003... mas devido a uma serie de bugs e problemas totalmente fora de lógica decidimos fazer o extremo, q foi a troca de plataforma...estamos começando a usar o Delphi 2005.
E uma grande duvida é se há como usar o projeto de win32 ( Opascal ) com classes em C ( Visto se ja temos uma grande parte das classes feitas em C no Visual Studio 2003 - as classes compilaram normalmente no Delphi 2005 sem nem ao menos um probleminha sequer... claro q a linguagem é a mesma... C... mas mesmo assim eu gostei! )
O que não estou conseguindo fazer com que o projeto em pascal enxergue as classes em C... fazer com que a minha unit identifique as classes...
Se por acaso alguem puder dar uma luz... se alguem ja tentou algo desse tipo... ou mesmo se isso não é possivel de ser feito...
Preciso de ajuda de vcs para que possamos deslanchar de vez com o Delphi.... e acabar logo esse projeto...
Obs: Estamos fazendo este projeto em win32 pois os problemas q tinhamos com o MVS estão irão acontecer novamente visto que o FrameWork é o mesmo... e por causa das limitações do FrameWork esta ficando dificil de desenvolver...
E uma grande duvida é se há como usar o projeto de win32 ( Opascal ) com classes em C ( Visto se ja temos uma grande parte das classes feitas em C no Visual Studio 2003 - as classes compilaram normalmente no Delphi 2005 sem nem ao menos um probleminha sequer... claro q a linguagem é a mesma... C... mas mesmo assim eu gostei! )
O que não estou conseguindo fazer com que o projeto em pascal enxergue as classes em C... fazer com que a minha unit identifique as classes...
Se por acaso alguem puder dar uma luz... se alguem ja tentou algo desse tipo... ou mesmo se isso não é possivel de ser feito...
Preciso de ajuda de vcs para que possamos deslanchar de vez com o Delphi.... e acabar logo esse projeto...
Obs: Estamos fazendo este projeto em win32 pois os problemas q tinhamos com o MVS estão irão acontecer novamente visto que o FrameWork é o mesmo... e por causa das limitações do FrameWork esta ficando dificil de desenvolver...
Rharder
Curtidas 0
Respostas
Rjun
20/09/2005
Em aplicações para Win 32 não é possível utilizar classes do .NET.
GOSTEI 0
Massuda
20/09/2005
Não tem jeito de fazer isso sem fazer modificações no código C que você já tem.
A solução seria criar em C um servidor ActiveX/COM que englobasse o código que você já tem em C. Assim você usaria COM como uma interface entre o código Win32 em Delphi (não gerenciado) e o código .NET em C (gerenciado). Isso é explicado no artigo [url=http://msdn.microsoft.com/msdnmag/issues/01/08/Interop/].NET Interop: Get Ready for Microsoft .NET by Using Wrappers to Interact with COM-based Applications[/url] publicado na MSDN Magazine.
A solução seria criar em C um servidor ActiveX/COM que englobasse o código que você já tem em C. Assim você usaria COM como uma interface entre o código Win32 em Delphi (não gerenciado) e o código .NET em C (gerenciado). Isso é explicado no artigo [url=http://msdn.microsoft.com/msdnmag/issues/01/08/Interop/].NET Interop: Get Ready for Microsoft .NET by Using Wrappers to Interact with COM-based Applications[/url] publicado na MSDN Magazine.
GOSTEI 0
Rharder
20/09/2005
Massuda,
Vc ja chegou a fazer alguma coisa desse tipo? Alguma aplicação que utilizasse essa forma de relacionamento entre as duas partes?
E em questão de complexidade e tempo... isso seria uma coisa relativamente rapida e simples de se fazer?
Obrigado, e desculpe a quantidade de duvidas.
Vc ja chegou a fazer alguma coisa desse tipo? Alguma aplicação que utilizasse essa forma de relacionamento entre as duas partes?
E em questão de complexidade e tempo... isso seria uma coisa relativamente rapida e simples de se fazer?
Obrigado, e desculpe a quantidade de duvidas.
GOSTEI 0
Rjun
20/09/2005
Massuda, indo no embalo.
É válido esse tipo de abordagem?
É válido esse tipo de abordagem?
GOSTEI 0
Massuda
20/09/2005
Vc ja chegou a fazer alguma coisa desse tipo?
Não... apenas li esse artigo algum tempo atrás. Não sei dizer se é complicado ou demorado, mas não acho que seja boa idéia neste caso.Acho que seria mais interessante você portar seu código C para Delphi (tem um conversor online que citei aqui no fórum um tempo atrás) do que ficar tentando colocar um servidor COM ao redor do código que você já tem.
É válido esse tipo de abordagem?
Depende do caso. Isso é o tipo da coisa que que permite a convivencia entre um sistema novo e um antigo.GOSTEI 0
Rharder
20/09/2005
Mto obrigado a ambos pela ajuda, foi de muita valia. :)
GOSTEI 0