Bonjour,
Je tente d'écrire un dll utilisable en C++ avec VBnet.
Voila mon problème:
Un logiciel tiers en utilisation (pas en développement), se sert de .dll que l'on reference dans un textbox en mode configuration.
Ces dll habituellement écrites en C++ ont des subs visibles et publics avec des paramètres entrée/sortie bien définis.
Nous sommes utilisateurs de ce logiciel et malheureusement sommes plus compétents en VB net qu'en C++.
Les développeurs du logiciel nous ont orientés vers une méthode pour voir si nos dll étaient utilisables par leur soft.
Il s'agit de l'exécutable dumpbin, outil de Visual C++.
En effet en exécutant dumpbin /exports maDll.dll les subs, fonctions et propriétés accessibles sont déclinées.
Pour tester la méthode, nous avons donc écrit un COM class en VB net implémentant une interface
la compilation a généré dans le répertoir Release 4 fichiers dont:
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 Imports System.Runtime.InteropServices <Guid("1F249C84-A090-4a5b-B592-FD64C07DAB75"), InterfaceType(ComInterfaceType.InterfaceIsIDispatch)> Public Interface _demo <DispId(1)> Function Concat(ByVal s1 As String, ByVal S2 As String) As String <DispId(2)> ReadOnly Property ErrorMsg() As String End Interface <Guid("E42FBD03-96DF-43a7-A491-23E735B32C5C"), ClassInterface(ClassInterfaceType.None), ProgId("TestClassCom.demo")> Public Class demo Implements _demo Private csError As String ' stores the error message Public ReadOnly Property ErrorMsg() As String Implements _demo.ErrorMsg Get Return csError End Get End Property Public Function Concat(ByVal str1 As String, ByVal str2 As String) As String Implements _demo.Concat Return str1 & " " & str2 End Function End Class
TestClassCom.dll
TestClassCom.tlb
En utilisant VBA, et en y référençant TestClassCom, on accède à TestClassCom.demo
Par contre dumpbin /exports TestClassCom.dll
on obtient:
Ce qui veut dire que concat et ErrorMsg ne sont pas visibles .Dump of file testclasscom.dll
File Type: DLL
Summary
2000 .reloc
2000 .rsrc
2000 .sdata
2000 .text
Si j'ai bien compris, TestComClass est une librairy de classes et demo est une class de cette librairy
Comment peut-on faire pour apparaitre les subs fonctions propriétés et autres évenements directements dans TestClassCom ?
Merci d'avance
Partager