DLL: question compliquée

Résolu
alonsyl Messages postés 348 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 6 novembre 2008 - 9 mars 2005 à 20:20
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 10 mars 2005 à 09:31
bonjour,

je viens de creer une dll avec visual c++ afin de la joindre a mon projet vb6.
voici ma procedure d'appel:
Private Declare Function test1 Lib "madll.dll" (ByVal val As Double) As Double
Private Sub Command1_Click()
MsgBox test1(12.34)
End Sub


tout ceci fonctionne parfaitement.
maintenant, je me demande s'il y a moyen de faire quelque chose d'equivalent a cela:
dim monobj as new madll.monobjet
sub toto()
monobj param1, ..., paramN
msgbox monobj.propriete1
end sub


j'ai calque cette procedure sur celle de l'objet recordset d'adodb:
dim rst as new adodb.recordset
sub toto()
rst rqte_sql, connex
msgbox rst(1)
end sub


en claire, y a t'il des moyen de creer des dll c++ dont le fonctionnement soit similaire a celui adodb (par exemple) ?
si vous aviez un exemple, ce serait vraiment top (mais je crois qu'il faut pas rever ...).


merci a vous,



alonsyl

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 mars 2005 à 09:31
Ben un grand conseil : évite de passer par de l'ActiveX si tu cherche
des performances supérieures à VB, sinon, fais tout en VB !



Si tu veux vraiment continuer à vouloir faire de l'ActiveX en C++,
passe par l'assistant de conception de dll avec la librairie ATL comme
le suggère BruNews, mais comme je l'ai déjà dit, tu n'y gagneras
absolument rien niveau performance (moi aussi c'était pour du calcul
matriciel !), et par contre, tu y perdras en rapidité de développement
: c'est plus facile à faire en VB qu'en ATL !

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
3
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
9 mars 2005 à 21:28
salut,

il faut créer une dll ACTIVEX...mais c'est vraiment pas facile en C++...surtout pour être comptatible VB...

ShareVB
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 mars 2005 à 23:45
Passe par le wizzard ATL, il te génèrera tout le squelette, tu n'auras plus qu'à remplir les procédures avec ton code.
Faudra ensuite se poser la question de la rentabilité. Quel intérêt à faire tout cela alors que tu ne gagneras rien en performance, tout éventuel bénéf sera anéanti par les appels COM.

ciao...
BruNews, MVP VC++
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 mars 2005 à 07:40
En effet, comme le dit BruNews : il n'y a aucun intérêt (à mon avis) de
faire des dll ActiveX en C++, crois-en l'expérience que j'ai faite :
j'ai voulu passer ma source de gestion d'image en C++ dans une dll
ActiveX, et niveau performances : c'était aussi rapide qu'en vb :(



Si je le fais en "vraie" dll, donc une dll fonctionnelle, j'y gagne un
peu (bien que ce ne sont pas encore énorme !), mais c'est bien plus
compliqué à utiliser qu'un classe !

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.progotop.com/popapi/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alonsyl Messages postés 348 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 6 novembre 2008 12
10 mars 2005 à 09:21
pour expliquer la finalite de la chose: je souhaite effectuer du calcul matriciel.
je sais que c/c++ est plus rapide et plus performant pour ce genre de procedures. en revanche, pour ce qui est de la conception de l'interface je prefere rester en vb6.

j'ai donc pense a joindre des dll c/c++ a mon projet et tant qu'a faire j'aurais aimé que les proprietes et methodes de mes matrices soient gerees comme si "matrice" ete un objet vb:
det = matrice.determinant
matrice.transpose
je me suis dit que cela ete possible puisque c++ est oriente objet ...

quels sont vos conseils et vos remarques en la matiere ?

alonsyl
0
Rejoignez-nous