Закат солнца вручную или так ли уж нужен линкер Одни ассемблеры (tasm, masm, wasm (Open Watcom assembler), GoAsm, POAsm (Pelle Orinius macro assebmler)) состоят из "полного комплекта": ассемблер, линкер и компилятор ресурсов. Другие (lzasm, a86) используют "чужие" линкеры и компиляторы ресурсов. Третьи (FASM, nasm) создают бинарный файл и за счет макросов добавляют ему MZ, PE, ELF- заголовки и ресурсы. Пробуем при очередном переписывании уроков Iczeliona обойтись без линкера и компилятора ресурсов. Сразу предупреждаю: написано и проверено на WinXP SP2, точно не пойдет на Win95/98 и Win2k. Если есть желающие проверить под Vista напишите пожалуйста о результатах, поправках и замечаниях. Все exe собирались строкой "nasmw hello.asm -o hello.exe" В аттаче сорц и ехе урока с MessageBox. Размер ехе 342 байта (продолжение следует)
Вывод вращающейся надписи в окно. Сорц и ехе. Размер ехе 1306 байт. nagoa+.inc можно взять здесь http://visual-assembler.pt.vu/
Mikl___ ntut_10-01 Наверное, все-таки стоило вылечить неполноценный "Our First Dialog Box" Iczelion-а, заменив DefWindowProc на DefDlgProc... ntut_10-02 "Our Second Dialog Box" не закрывается с заголовка и обоих меню, только только кнопкой "Exit"... Увязнув в ЭкстраСпае, просто не мог пройти мимо... фу, какой нелепый образ получился
kero В аттаче исправленный вариант урока 10-1 (Замена DefWindowProc -> DefDlgProc) Урок 10-2 -- не знаю, где исправлять Было сделано по Iczelion'y, у Sulaiman сделано аналогично, на моем компьютере закрывается из системного меню, при нажатиии по "крестику" на диалоге и собственно через "Exit" в меню. Подскажите, где я ошибся. Урок 10-3 создание диалога через DialogBoxIndirectParam - 1) не понимаю почему не отрабатывает копка "Say Hello" хотя кнопка "Exit" работает 2) как лучше прицепить в этом случае меню? Может быть через LoadMenuIndirect? Если Вы не возражаете - я использую примеры из main variants Каково Ваше мнение о #24 Не понял о чем это?
>Не понял о чем это? Да у меня картинка: "увязнув в" + "просто не мог пройти мимо" На вопросы отвечу ближе к вечеру, сейчас не могу...
Mikl___ Не надо меня на большое "Вы" Но ведь для DialogBox* (не CreateDialog*) - EndDialog, а не DestroyWindow? Может, на вашем компе - на самом деле не закрывается, а ломается? Процесс убит? Но если действительно закрывается... может, обозначились ограничения на данный способ сборки exe? (Кнопка "Exit" закрывает потому, что там, кажется, просто ret). У меня (на XP-pro-sp2) 10-3 не закрывается в точности как 10-2... Насчет кнопки "Say Hello" - почему не хочет сходу не уловил. Для меня сложность еще и в том, что нет под рукой nasm-а. На всякий случай: мне кажется, лучше не использовать для id контролов диалога родные ему IDABORT 3, IDRETRY 4, IDIGNORE 5 не вполне по назначению, диалог может неправильно понять Насчет LoadMenuIndirect - почему бы и нет (например, в HTLab (часть HTSpy) - вроде OK). Насчет main variants - об чем речь Насчет #24 - а знаете, ведь никогда особо не вчитывался в этот урок, может, и там не все ладно, надо будет посмотреть
Народ, а может кто переписать урок 8. Хочу узнать как создавать меню не через файл ресурсов. Только напишите пожалуйста максимально читабельно, а то я чайник
Shoorup Всё уже до нас написано Просто остается экспериментировать на живых РЕ-файлах - а вдруг прокатит... То, что я попробовал на nasm, можно безболезнено перенести на masm и другие ассемблеры
Уважаемый Mikl___ , в Ваших постах чувствуется мастерство, опыт и глубокий ум. не могли бы Вы добавить в урок про РичЭдит функцию "justification" ? всё остальное в принципе... и так сойдёт спасибо , в любом случае...
Тогда уж - Глубокоуважаемый господин Mikl ... ------------------------------------ Mikl, ты молодец! P.S. Вот что тут привлекает в этой идее Mikl-а переработать Икзилиона - это то, что он проверяет все примеры на работоспособность. А у Иклизиона кое-что может устареть, (например некоторые функции использования памяти) кое-что не работать вообще (мало ли ошибка) , и т.д.
Урок 23. Иконка в system tray "Как помещать иконки в system tray и как создавать/использовать всплывающее меню" переделанная "классика" и два варианта на nasmw без линкера и компилятора ресурсов