FASM & ресурсы (.rc)

Тема в разделе "WASM.BEGINNERS", создана пользователем Flanker, 14 янв 2007.

  1. Flanker

    Flanker Антон

    Публикаций:
    0
    Регистрация:
    8 янв 2006
    Сообщения:
    101
    Адрес:
    Russia
    Народ, есть .asm и .rc. Как их вместе собрать. Для MASMа просто: .asm->.obj +.rc->exe. А для FASMа? Ведь сразу получаем exe.
    или "все ручками пишем"?
    И еще, может кто кинет IDE FRESH. А то, что-то он с сайта не грузится.
     
  2. pas

    pas New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2003
    Сообщения:
    330
    Адрес:
    Russia
    Собираеш ресурсы например rc.exe из поставки масма а к теле асмовского файла добавляеш
    section '.res' resource from 'D:\RadASM\Fasm\Projects\Merge1\Merge1.res' data readable
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    лучше section '.rsrc' readable discardable resource from 'project.res'
     
  4. pas

    pas New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2003
    Сообщения:
    330
    Адрес:
    Russia
    IceStudent
    А есть разница как называть эту секцию?
     
  5. Flanker

    Flanker Антон

    Публикаций:
    0
    Регистрация:
    8 янв 2006
    Сообщения:
    101
    Адрес:
    Russia
    Разница - не надо писать полный путь.
    Не поможите ещё? FASM ругается на enter: invalid operand. Что за ботва?
    Код (Text):
    1. MyEntry:
    2.         invoke GetModuleHandle,eax
    3.         mov [gIst],eax
    4.         invoke DialogBoxParam,eax,1,0,DlgProc,0
    5. ExitApp:
    6.         invoke ExitProcess,0
    7.  
    8. proc DlgProc,hWnd,uMsg,wParam,lParam
    9.      enter
    10.         push edi esi ebx    
    11.         ....................
    12.         pop ebx esi edi
    13.     return
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    pas
    Обсуждалось не раз - в винде некоторые функции завязаны именно на имени секции ресурсов.

    Flanker
    Сейчас enter не нужен в proc. Смотри примеры в твоей версии фасма.

    В последней можно писать так: (не подключая masm.inc):
    Код (Text):
    1. proc DlgProc uses ebx esi edi, hWnd,uMsg,wParam,lParam
    2.   ....
    3.   ret
    4. endp
     
  7. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    pas
    Секция ресурсов по традиции должна называться .rsrc. Иначе oleaut32.dll не будет корректно обрабатывать ресурсы и мы не увидим иконку экзешника в проводнике...
     
  8. pas

    pas New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2003
    Сообщения:
    330
    Адрес:
    Russia
    Quantum IceStudent
    Вообще спорить не стану, Вы и Вы безусловно правы, но проводник иконку показывает :)
     
  9. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    pas
    На XP - показывает, на 95 и 2000 - не показывает.
     
  10. pas

    pas New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2003
    Сообщения:
    330
    Адрес:
    Russia
    Quantum
    видимо только в 95/98 т.к. у меня 2000.
     
  11. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    pas
    У меня 2000 без сервиспаков. В properties иконка отображется, а в списке проводника - нет.