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
Appel de la fonction
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
Fonction callback
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Call SetProgressProc(AddressOf CallbackProc_Progress)
Code En VB Dot Net
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
Déclaration du prototype de la fonction de la dll
Appel de la fonction
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
Fonction callback
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Call SetProgressProc(AddressOf CallbackProc_Progress)
Merci d'avance pour vos réponce
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
Partager