· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.PROJECTS —› Новое IDE для MASM или "переходим" к Vis

<< . 1 . 2 . 3 . 4 . 5 . 6 . >>

Посл.отвђт Сообщен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
"Не всплывает имя функции" - давай нормальные имена, "путаюсь в структуре"
Очень удобно и ускоряет время набора исходника (банально но факт) когда нет необходимости вводить имена функций и переменных.

<< . 1 . 2 . 3 . 4 . 5 . 6 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.090