вызов процедуры

Тема в разделе "WASM.BEGINNERS", создана пользователем readme, 29 мар 2006.

  1. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    вот к примеру такой код неработает если процедура находится ниже вызываемого кода

    invoke DialogBoxParam,wc.hInstance, main_win,0,OFFSET WndProc,0

    делаю так, но может есть другой способ?

    mov eax,OFFSET WndProc

    invoke DialogBoxParam,wc.hInstance, main_win,0,eax,0
     
  2. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    invoke DialogBoxParam,wc.hInstance, main_win,0,ADDR WndProc,0
     
  3. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    cresta

    2006.asm(96) : error A2006: undefined symbol : WndProc

    2006.asm(96) : error A2114: INVOKE argument type mismatch : argument : 4
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine


    Странно, должен работать, ведь это то же, что push offset WndProc.



    readme

    Определи прототип для функции, если хочешь пользоваться invoke: WndProc PROTO :lol: WORD,:lol: WORD,:lol: WORD,:lol: WORD
     
  5. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    да с WndProc proto :lol: WORD,:lol: WORD,:lol: WORD,:lol: WORD работает