mastercatz
Messages postés193Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention12 août 2010
-
17 févr. 2004 à 11:53
mastercatz
Messages postés193Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention12 août 2010
-
17 févr. 2004 à 14:38
Voila mon probleme, je voulais faire une petite dll en vb pour quelques fonctions mais j'ai un probleme. Quand j'appelle ma fonction de la dll j'ai une erreur qui dit 'Point d'entrée introuvable dans la dll'
J'ai feuilleté un peu partout mais sans success. Voici le code de la dll et sa declaration dans le prog
Public Function b2d(bin As Long) As Long
Dim b1 As Integer
Dim b2 As Integer
Dim b3 As Integer
Dim b4 As Integer
Dim b5 As Integer
Dim b6 As Integer
Dim b7 As Integer
Dim b8 As Integer
If b1 <> 1 Or b1 <> 0 Then
b2d = -1
Exit Function
End If
If b2 <> 1 Or b2 <> 0 Then
b2d = -1
Exit Function
End If
If b3 <> 1 Or b3 <> 0 Then
b2d = -1
Exit Function
End If
If b4 <> 1 Or b4 <> 0 Then
b2d = -1
Exit Function
End If
If b5 <> 1 Or b5 <> 0 Then
b2d = -1
Exit Function
End If
If b6 <> 1 Or b6 <> 0 Then
b2d = -1
Exit Function
End If
If b7 <> 1 Or b7 <> 0 Then
b2d = -1
Exit Function
End If
If b8 <> 1 Or b8 <> 0 Then
b2d = -1
Exit Function
End If
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 17 févr. 2004 à 12:45
Bonjour
je ne comprends pas bien ton code :
tu mélanges texte et nombres
MsgBox b2d(Text1.Text)
Function b2d(bin As Long) As Long
la fonction attend un Long (nombre) et tu lui passes un texte
b1 = Right(bin, 1) : le caractère de droite d'un nombre ?
b2 = InStr(bin, 7, 1) : je suppose que tu voulais écrire
b2 = Mid(bin, 7, 1)
mais là encore, le septième caractère d'un nombre ???
---------------------------------------
A mon avis, modifications à faire :
Function b2d(bin As String) As Long
b1 = CInt(Right(bin, 1))
b2 = CInt(Mid(bin, 7, 1))
b3 = CInt(Mid(bin, 6, 1))
b4 = CInt(Mid(bin, 5, 1))
b5 = CInt(Mid(bin, 4, 1))
b6 = CInt(Mid(bin, 3, 1))
b7 = CInt(Mid(bin, 2, 1))b8 CInt(Mid(bin, 1, 1)) ou b8 CInt(Left(bin, 1))
ça ne résout pas le problème du point d'entrée
(quoique) mais ça me paraît indispensable.
mastercatz
Messages postés193Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention12 août 2010 17 févr. 2004 à 13:58
J'ai tenu compte de vos remarques et j'ai donc modifié mon code. Mais j'obtient une erreur 'Variale objet ou variable bloc With non definie' avec un point d'arret sur l'appel a ma fonction. J'ai essayé de modifier des trucs mais sans succes :
dll:
Public Function b2d(bin As String) As Integer
Dim b1 As Integer
Dim b2 As Integer
Dim b3 As Integer
Dim b4 As Integer
Dim b5 As Integer
Dim b6 As Integer
Dim b7 As Integer
Dim b8 As Integer