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# :
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(...){...}
    }
}
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
#include "libperso_TLB.h"
Et ensuite dans le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
classperso *x = new classperso();
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'
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#.

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