Salut,

J'ai un travail du style à faire et en voici le résumé.

Dans Visual studio :
1) using System.Runtime.InteropServices;
2) Devant chaque class : [ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)]
[Guid("B69F434D-0570-41f3-BC76-1908340BE5D8")]

(le guid doit-être généré par tools/Create GUID)

3) Lancer une fenêtre vsvars32.bat avec les fonctions en ligne de commande pour le csc, al, regasm et gacutil...

4)Dans la cmd dos : taper dans l'ordre :
1 - sn -k MyKey.snk
Pour générer une clé pour un nom fort
2 - csc /target:module maClass.cs
Pour créer un fichier netmodule
3 - al /out:maClass.dll maClass.netmodule /keyfile:MyKey.snk
Pour générer la dll
4 - gacutil -i maClass.dll
Pour charger la dll dans le global assembly cache
5 - regasm maClass.dll /tlb
Pour la charger dans le registre.

5) Sous Delphi :
1 - Lancez votre projet.
2 - Menu composants/Importer un composant
3 - Importer une bibliothèque de type suivant
4 - Sélectionner la dll (maClass.dll dans cet exemple) et suivant
5 - Ajouter au projet
6 - Maintenant vous devez y avoir accès.




Je profite de ce forum pour poser une question en retour :
Je veux wrapper des dll .net depuis un projet .net et les importer dans un projet Delphi. Je vois mes classes mais si j'essaye d'en utiliser alors ça plante avec le message "Le projet projet2.exe a déclenché la classe d'exception EOleSysError avec le message 'The system cannot find the file specified'".
Je bloque depuis plus d'une semaine et ça commence à faire mal... à mon cerveau... Si qq a une idée je lui en serait énormément reconnaissant.