Создание окна без объявления структур

Тема в разделе "WASM.WIN32", создана пользователем Llirik, 21 ноя 2008.

  1. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Благодарю
     
  2. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Сабклассировать :)
     
  3. mc black

    mc black Member

    Публикаций:
    0
    Регистрация:
    19 янв 2005
    Сообщения:
    213
    Адрес:
    Russia, N.Novgorod
    CreateDialogIndirect
     
  4. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Я нашел ошибку в своём коде!) Просто данные должны всегда находится в сегменте данных)
     
  5. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Llirik
    Нда ошибка забавная ;))
    Размещение данных среди кода широко применяется, например в fasme (не умеющем самостоятельно объединять одноимённые сегменты и соответственно собирать данные к данным код к коду), в дельфи (х.з. зачем), также в целях уменьшения размера exe, за счёт использования единственного сегмента. Достаточно сделать jmp через блок данных, некторые извращенцы совмещают jmp с push используя call и портя работу предсказателя ret-ов. Но имхо лучше всего конечно-же размещать данные в сегменте данных ;).
     
  6. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    возможно... возможно.... но при использовании функции RegisterClass лучше этого не делать)
     
  7. Dian

    Dian Member

    Публикаций:
    0
    Регистрация:
    19 июн 2008
    Сообщения:
    222
    MessageBox() :)))
     
  8. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    помогите еще пож) где здесь ошибка?

    прога просто не выводится на экран

    P.S Я пока только учусь)
     
  9. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Llirik
    Код (Text):
    1. ...
    2.     mov hCursor,eax
    3. ;; --   push    OFFSET style
    4.     push    OFFSET rcbSize      ;; ++
    5.     call    RegisterClassEx
    6. ...
    7.     call    DefWindowProc
    8.     leave               ;; ++
    9.     ret
    10. ...
     
  10. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Llirik
    Код (Text):
    1. ...
    2.     test    eax,eax
    3. ;; --   jnz ccalex
    4.     jz  ccalex          ;; ++
    5.     push    OFFSET  hwnd
    6. ...
    7.     call    MessageBoxA
    8.     xor eax,eax         ;; ++
    9. DESTROY:
    10. ...
    11.     call    DefWindowProc
    12.     leave               ;; ++
    13. ;; --   ret
    14.     retn    4*4         ;; ++
    15. ...
     
  11. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    спасибо) Push OFFSET style - это просто моя не внимательность) забыл поменять) прошу прощения