|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 20, 2003 18:05:19 Edmond "В частности Одна процедура диалога на все диалоги!!!" Так и должно быть. У меня в IDE будет класс xxiDlg - любой диалог наследован из этого класса. |
|
|
Дата: Авг 20, 2003 18:09:16 __Ranger "Не всплывает имя функции" - давай нормальные имена Я тоже абсолютно спокойно веду проект примерно с таким же кол-вом строк :) И у меня все тоже разбито по модулям. Например, в одном из модулей у меня штук 20 процедур имеют сходное назнавние (что-то типа vGetBlaBla...), причем имя точно отражает функционал процедуры. Так вот если мне еще начать извращаться и имена им специальные придумывать... Может, начать SHA160 от имени считать и именовать, типа A5D28DDF1F5D9FFA70160036D221698EED033B1F proc ... A5D28DDF1F5D9FFA70160036D221698EED033B1F endp А вообще прикольно :))))) Плюс гарантирует уникальность имени! Я например, не смог перейти на RadASM. |
|
|
Дата: Авг 20, 2003 18:16:26 У меня в IDE будет класс xxiDlg - любой диалог наследован из этого класса. Да причём тут Класс! :)) Вот смотрите, пока я жив :()))) DlgProc proc ;; Инициализация Каждый диалог имеет свою процедуру инифиализации, всё остальное -- одинаковое. Как он узнает какой он? А параметр lParam в функции DialogBox ;; Коммутатор В памяти содержится таблица контролов Поскольку на ВСЕ диалоги эта таблица одна мы выбираем не ПО СООБЩЕНИЯМ, а по контролам Почти ОДНА КОМАНДА!!! А уже потом, в контроле ты анализируешь по сообщниям. DlgProc endp |
|
|
Дата: Авг 20, 2003 18:18:43 masquer Ничего уже скоро будут макро поддерживающие модульность Вы о таком и не мечтали
@#module::MyModule::{
;; Можно подключать модули, и всё автоматически
;; сгенерируется этими макро
;; В часности EXTERNDEF определения
@#use::TwoModule
@#module::}
|
|
|
Дата: Авг 20, 2003 18:20:58 AsmGuru62 Тем не менее редактор ресурсов потянет за собой кучу времени. Его можно и на потом отложить - не настолько это необходимо. |
|
|
Дата: Авг 20, 2003 18:21:56 В коде класса есть как раз та самая (единственная) процедура, которая вызывает виртуальный MsgMap. Каждый диалог может переопределить (или построить заново) свой собственный MsgMap. Точно, как в MFC. |
|
|
Дата: Авг 20, 2003 18:23:29 masquer Да ничего... потяну как нибудь... |
|
|
Дата: Авг 20, 2003 18:23:59 Edmond Получаются те же сишные классы... О таком точно лучше и не мечтать :))) |
|
|
Дата: Авг 20, 2003 18:27:56 >>Вот смотрите, пока я жив :()))) Такое я использовал, но минус в том, что при большом количестве контролов и диалогов очень трудно становится ориентироваться в этой процедуре.Приходится добавлять .if (ID>=Main_Dialog_Ctrl_Low)&&((ID<=Main_Dialog_Ctrl_High) call Process_Main_Dialog_Message .endif |
|
|
Дата: Авг 20, 2003 18:29:33 AsmGuru62 Да ничего... потяну как нибудь...Ну, успехов, как говорится! Жаль только, что по времени это все растянется :( |
|
|
Дата: Авг 20, 2003 18:31:42 masquer Получаются те же сишные классы... О таком точно лучше и не мечтать :))) Ах, :)) И спорить не буду.. Эти макросы не влияют на код!!!! Они просто позволяют писать меньше заголовочных файлов. Когда же наконец Асмовцы будут различать удобство и эффективность? __Ranger if (ID>=Main_Dialog_Ctrl_Low)&&((ID<=Main_Dialog_Ctrl_High) call Process_Main_Dialog_Message Зачем??? Ведь все ID идут попорядку. А вот запутаться. Вот тут то и нужены подсобные средства!!! |
|
|
Дата: Авг 20, 2003 18:45:50 2Edmond: .elseif eax==Main_Dialog_OK_BTN ... .elseif eax==Main_Dialog_Cancel_BTN ... .elseif eax==Main_Dialog_Retry_BTN ... И будет и тебя длинющая такая змея. А вот это как раз и сворачивает в удобоваримый вид .if (ID>=Main_Dialog_Ctrl_Low)&&((ID<=Main_Dialog_Ctrl_High) call Process_Main_Dialog_Message 2AsmGuru62: Если не секрет, сколько ты уже пишешь свой IDE и на чем. Если не женат, и подходящая работа, то почему бы и нет? |
|
|
Дата: Авг 20, 2003 18:53:29 Пишу на VC++ 6.0. (NO MFC! I hate it!!) Женат, но время есть. В Сентябре надо сдать .NET проект, а потом будет больше времени для IDE. === У меня есть мой первый IDE - он должен быть здесь выложен в инструментах. Убогий, правда... извиняйте... Есть Intelli-Sense, но нет подсветки. Неплохая навигация. === AsmDev 1.0 === |
|
|
Дата: Авг 20, 2003 18:58:53 __Ranger Вы что-то меня не поняли :)) Или я вас тоже не понял :) Я то как раз и говорю, про Tbl dd -> -> sub eax,Main_Dialog_Ctrl_Low jb --> cmp eax,Main_Dialog_Ctrl_High-Main_Dialog_Ctrl_Low call ... И что там запутываться? |
|
|
Дата: Авг 20, 2003 20:26:57 __Ranger "Не всплывает имя функции" - давай нормальные имена, "путаюсь в структуре" Очень удобно и ускоряет время набора исходника (банально но факт) когда нет необходимости вводить имена функций и переменных. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.090 |