ok je vous montre deja ce que j ai reussi a faire:
La DLL:
La librairy s'appelle EmosLib
J'ai une classe CEmosDatabase qui est l'object principal
J'ai une classe CEmosSPParams qui est l'object que je vais instancier dans mon code VB et passer a une méthode de CEmosDatabase.
la fonction AcceptSingleArguemnt accepte un objet et le traite en tant que CEmosSPParams:
1 2 3 4 5 6 7 8 9 10 11
| void CEmosDatabase::AcceptSingleArgument(LPDISPATCH TestClass)
{
CString str1;
IEmosSPParams p1;
p1.AttachDispatch(TestClass);
str1 = p1.GetParamName();
p1.DetachDispatch();
} |
le code idl associé:
void AcceptSingleArgument(IDispatch* TestClass);
Le code VB:
1 2 3 4 5 6
| Dim db As New EmosLib.EmosDatabase
Dim MyClass As New EmosLib.EmosSPParams
MyClass.ParamName = "TestParamName"
Call db.AcceptSingleArgument(MyClass) |
Voila pour ce qui marche... Maintenant je souhaite que ma fonction AcceptSingleArgument accepte non pas 1 objet CEmosSPParams mais un tableau de cet objet (suite au prochain post...)
Partager