Puis-je utiliser une DLL .NET dans & # 8220; Delphi 2007 pour Win32 & # 8221 ;?
-
03-07-2019 - |
Question
Est-il possible d'utiliser une DLL .NET dans Delphi 2007 pour Win32? J'ai essayé d'importer la DLL de la même manière que pour un composant ActiveX, mais cela ne semble pas fonctionner (Menu Composants - > Importer un composant - > Importer .NET Assembly.
Est-ce possible et si oui, quelles sont les étapes?
La solution
Si vous souhaitez un article spécifique à Delphi sur ce sujet:
Utilisation d'un assemblage .NET via COM par Jim McKeeth
C’est assez simple une fois toutes les étapes franchies.
Autres conseils
Bien sûr, vous pouvez. Il vous suffit de lui indiquer quelles parties de votre code doivent être accessibles de cette façon. Vous pouvez le faire via le ComVisibleAttribute. La solution la plus rapide est de placer [assembly: ComVisible (True)] dans votre fichier .dpk, ce qui rend tout public visible. Vous pouvez ensuite utiliser la méthode que vous avez essayé d’importer l’ensemble.
Vous pouvez également effectuer des exportations non gérées que vous pouvez appeler comme des fichiers DLL normaux.
CrossTalk de Atozed Software permet d’utiliser des assemblys .NET de Delphi sans utiliser COM, aucun enregistrement de DLL et peut utiliser des assemblys originaux sans modification.
Je ne pense pas que vous puissiez le faire, en mélangeant directement du code géré et du code non géré dans la même application.
Cependant, les objets RemObject disposent d’un framework appelé Hydra qui vous permet d’utiliser .Net et Win32 dans la même application.