Utilisation d'une DLL C++ dans un projet C#
Bonjour,
J'ai créé une Dll en c++ et j'ai voulu utiliser les classes ainsi que les méthodes de cette Dll dans un projet C#.
EN faite pour importer une méthode, j'ai utiliser la ligne suivante:
Code:
1 2
| [DllImport("Personne.dll")]
public static extern int GetNote(); |
Maintenant j'ai voulu importer une classe mais lorsque j'ai utilisé DllImport avec le nom de la classe comme suit:
Citation:
[DllImport("Personne.dll")]
public static extern Personne();
, un message d'erreur indique qu'il faut ajouter un type de retour. Or le constructeur n'a pas un type de retour.
De plus j'ai des méthode dans la DLL dans lesquelles je passe les paramétres par références or C# ne supporte pas les références .
Est ce qu'il y a quelqu'un qui peut m'aider?
Merci
UTILISER UNE CLASSE DANS DLL C++ EN C#
BONJOUR,
tu peux utiliser la methode dll import uniquement pour des functions (methode P/Invoke).
tu ne peux utiliser cette methode quand c'est une classe c'est pour ca qu'il se sort le message argument de retour qui est n'existe que pour les fonctions.
pour les classes c'est un peu plus complexe ,il faut passer par c++/cli.
regarde sur ce post http://www.developpez.net/forums/d10...native-csharp/
dllimport pour une dll c++
bonjour
1/piste 1:
-c'est executer hors environnement vs dans dossier debug directement.
2/piste 2
si ca persiste il faut voir de ce cote:
-fais attention à la frappe du nom de fichier "Personne.dll" et à EntryPoint = "NomFonction".
- rajouter le chemin en plus du nom fichier.
bon code...