Bonjour,
J'ai réalisé une dll en c# avec visual studio. J'essaie maintenant d'utiliser cette dll dans C++Builder.
Voici à quoi ressemble la dll en c# :
J'utilise le fichier tlb généré pour utiliser la dll dans C++Builder.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 namespace libperso { public delegate void Onmachin1change(string Text); public delegate void Onmachin2change(string Text); public delegate void Onmachin3change(string Text); public delegate void Onmachin4change(string Text); public class classperso { ... public Onmachin1change Onmachin1changecallback; public Onmachin2change Onmachin2changecallback; public Onmachin3change Onmachin3changecallback; public Onmachin4change Onmachin4changecallback; public bool Start(){...} public void Stop(){...} public void Pause(){...} public bool Reprise(){...} ... void machin1change(...){...} void machin2change(...){...} void machin3change(...){...} void machin4change(...){...} } }
Et ensuite dans le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part #include "libperso_TLB.h"
Code : Sélectionner tout - Visualiser dans une fenêtre à part classperso *x = new classperso();Et si je fais un "x->", il n'y a aucun rapport entre e que me propose C++builder et ce que j'ai mis dans le fichier c#.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [BCC32 Erreur] Unit1.cpp(6609): E2352 Impossible de créer une instance de la classe abstraite '_classperso' [BCC32 Erreur] Unit1.cpp(6609): E2353 La classe '_classperso' est abstraite parce que '__stdcall IDispatch::GetTypeInfoCount(unsigned int *) = 0'
Comment puis-je faire pour utiliser cette dll sachant que je dois utiliser des fonctions de callbak ?
C'est à dire que ma dll dois pouvoir lancer des évènements dans C++Builder.
J'ai trouvé ce procédé en recherchant sur google. Sinon, faut-il faire ce que décrit l'article suivant sachant que c'est une dll fait en .net ?
http://lfe.developpez.com/DLL/
Merci
Partager