Перед вызовом edit_box_key нужно что-бы в регистре eax был код нажатой клавиши. Потому на языках высоко уровня нужно делать обертку.punk_joker wrote:Напомни, какая с этой функцикй проблема? Для чего эта обертка? Знаю что сам ее писал, но уже непомню как работают асм вставки.
Если никто не против можно вставить в библиотеку что-то наподобие такого:
Code: Select all
;description:
; void edit_box_key_safe(edit_box *e, ksys_oskey_t ch)
;input:
; e - edit struct
; ch - key code
align 16
edit_box_key_safe:
push eax
mov eax,[esp+12]
push dword[esp+8]
call edit_box_key
pop eax
ret
Code: Select all
;description:
; void edit_box_key_safe(edit_box *e, ksys_oskey_t ch)
;input:
; e - edit struct
; ch - key code
align 16
edit_box_key_safe:
mov eax,[esp+8]
push dword[esp+4]
call edit_box_key
ret