Bonjour,
je suis en train de créer une dll que je vais invoquer en vb6.
Tout marche très bien, sauf pour la fonction messagebox dont n'arrive pas à récuperer la valeur de retour qui semble se trouver dans eax.
Voila la partie intéressante, il y a d'autres fonctions mais tout le reste va bien :
.586
.model flat, stdcall
option casemap :none
option prologue:none
option epilogue:none
include C:\masm32\include\windows.inc
include C:\masm32\include\kernel32.inc
include C:\Masm32\include\user32.inc
includelib C:\masm32\lib\kernel32.lib
includelib C:\masm32\lib\user32.lib
.data
szDlgTitle db "Titre de la messagebox",0
szMsg db "Texte de la messagebox",0
.code
ALIGN 4
LibMain PROC parameter1:DWORD, parameter2:DWORD, parameter3:DWORD
mov eax, 1
ret 12
LibMain ENDP
msg1 PROC
xor eax, eax
push MB_ICONHAND or MB_OKCANCEL
push offset szDlgTitle
push offset szMsg
push 0
call MessageBox
;return value: in EAX resides a value
;indicating which button was clicked on
ret 8 ; cest ici que ca doit pser probleme
msg1 ENDP
end LibMain