Bon, ça marche toujours pas
[...]
lea.l (a7),a5
pea.w NoCallBack(pc)
pea.l (138)*$10000+(42)
movea.l DialogNew*4(a6),a0
jsr (a0)
move.w d0,d4 ;Sauvegarde l'adresse de la structure de la boîte dans d4.
pea.l (1)*$10000+(4)
pea Reader_version(pc)
pea.l (0)*$10000+(8)
clr.l -(a7)
move.w d4,-(a7)
movea.l DialogAdd*4(a6),a2
jsr (a2)
clr.l -(a7)
move.l #-1,d0
move.l d0,-(a7)
move.w d4,-(a7)
move.l DialogDo*4(a6),a0
jsr (a0)
lea.l (a5),a7
[...]
Si je n'appelle pas DialogAdd (;jsr(a2)), l'execution de tout le reste du programme ne plante pas la calculatrice.
Si je n'appelle pas DialogDo (;jsr(a0) mais j'appelle DialogAdd), l'execution de tout le reste du programme ne plante pas la calculatrice.
Le problème viens de DialogAdd ou DialogDo.
Doc Tigcc:
***DialogAdd***
HANDLE DialogAdd (HANDLE Handle, short unknown, short x, short y, short ItemType, ...);
This function is open for anybody which knows more about dialogs than I know. What I also know is that legal ItemType values are: 2, 3, 7, 8, 10, 12 and 14. 2 is for adding request boxes, 7 for adding texts, 8 for adding titles, and 14 for adding pulldown menus.
***DialogDo***
short DialogDo (HANDLE Handle, short x, short y, char* RequestBuffer, short *PulldownBuffer);
Avec x = y = -1 pour centrer la fenêtre.
Quelqu'un peut il m'aider ??