Salut,

J'ai un problème d'interropérabilité que je n'arrive pas à résoudre. J'explique. J'ai une dll écrite en .net V2, car elle utilise des objets COM. Le problème, c'est que nous avons un de nos utilisateurs qui utilise vs2003, donc, en .net v1.1.

L'ajout de la référence provoque une erreur
Il ne s'agit pas d'un assembly valide ou d'un composant COM
Après plusieurs recherches, j'ai lu qu'il était possible d'utiliser l'interropérabilité grâce au code managé, et la fonction dllimports.

J'ai donc créé une classe bien spécifique, avec ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Imports System
Imports System.Runtime.InteropServices
 
Public Class wrapper
    <DllImport("toto.dll")> _
    Shared Function Cnx() As Integer
    End Function
 
End Class
La classe appelante contient ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
  Function Test() As Boolean
 
        Dim intRC As Integer
        Dim oTap As New wrapper
 
        intRC = oTap.Cnx
        If intRC = 0 Then
...
        End If
 
        'Retour de la fonction
        fSendMsg = intRC = 0
    End Function
Mais le résultat est le même.

Je pense que je devrais pouvoir y arriver, mais il doit me manquer quelque chose.

Pouvez-vous m'aider ?

Merci par avance.