Fasm+res

Тема в разделе "WASM.BEGINNERS", создана пользователем JCronuz, 31 окт 2008.

  1. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Приветствую вас.

    На Fasm пробую создать диалог при помощи рес файла, подключаю
    файл с рессурсами так

    Код (Text):
    1. section '.rsrc' data readable resource from 'Style.res'
    ниже весь код:
    Код (Text):
    1. format PE GUI 4.0
    2. entry start    
    3.  
    4. include '\Bin\FASM\INCLUDE\WIN32AX.inc'
    5.  
    6. ;Resources
    7.  IDD_DLG1    equ 1001
    8.  IDC_BUTTON1    equ 1003
    9.  IDC_BUTTON2    equ 1002
    10.  IDC_ICON    equ 1000
    11.  
    12. section '.bss' data readable writeable
    13.  
    14.     hInstance dd ?
    15.  
    16. section '.code' code readable writeable
    17.  
    18. start:
    19.     invoke GetModuleHandle, NULL
    20.     mov [hInstance], eax
    21.     invoke DialogBoxParam, [hInstance], IDD_DLG1, 0, 0, 0
    22.     invoke ExitProcess, NULL
    23.  
    24.  
    25. proc DlgProc, hWnd, uMsg, wParam, lParam
    26.  
    27.     push ebx esi edi  
    28.    
    29.  
    30.    
    31.     pop edi esi ebx
    32.            ret
    33. endp
    34.  
    35.  
    36. section '.rsrc' data readable resource from 'Style.res'
    При запуске вылетает, поправте где неправильно.
     
  2. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    а передать адрес диалоговой функции, не надо? :)

    ошибка в том что диалог вызывает свою процедуру по адресу: 0x0, вот и вылетает.
     
  3. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Это понятно было - я в отладчике видел, но вот как избавится непойму.
     
  4. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    invoke DialogBoxParam, [hinstance], IDD_DLG1, 0, DlgProc, 0
     
  5. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Обработчик и при нуле должен работать, после указания обработчика он вылетает.
     
  6. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Arthur спасибо, я ступил, вставлял импорт неправильно поэтому он ненаходил сами API функции, и вызывал call [0000]