Bonjour,

J'ai une Dll codé en vb6 et un projet exemple en vb6 pour s'en servir. Je veut m'en servier en vb net. J'ai porté le projet vb6 vers vb net mais cela ne fonctionne pas. Le prbléme est avec une fonction qui fait un callback.

Code VB6
Déclaration du prototype de la fonction de la dll
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Public Declare Function SetProgressProc Lib "ISMBUS32.DLL" Alias "_SCDLG_SetProgressProc" (ByVal Pnt As Long) As Long
Appel de la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Call SetProgressProc(AddressOf CallbackProc_Progress)
Fonction callback
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Sub CallbackProc_Progress(ByVal Data As Double)
  MainScreen.Progress.Caption = CStr(CInt(Data)) + " %"
End Sub
Code En VB Dot Net
Déclaration du prototype de la fonction de la dll
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
    Public Delegate Sub SetProgressProcDelegate(ByVal Pnt As Double)
    Public Declare Function SetProgressProc Lib "ISMBUS32.DLL" Alias "_SCDLG_SetProgressProc" (ByVal Pnt As SetProgressProcDelegate) As Integer
Appel de la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Call SetProgressProc(AddressOf CallbackProc_Progress)
Fonction callback
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Sub CallbackProc_Progress(ByVal Data As Double)
	MainScreen.DefInstance.Progress.Text = CStr(CShort(Data)) & " %"
End Sub
Merci d'avance pour vos réponce