wellic
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Я уже сделал прототип. Вроде работает. Интеракции я разобрал, тут они вроде не нужны. Все будет и так запутано Для чего я все это затеял? Я делаю инструментик для себя, чтобы и утилитки написанные мной (которые нужны под рукой) запускать быстро из трея. И панели с кнопочками сделать, чтобы висели, и из них можно было вызывать написаные функции. Я отлично понимаю, что если я перешел в режим MessageLoop, то пока я его не закрою, никакие действия в других моих функциях работать не будут. Разве что по таймеру. Я все это горожу, чтобы можно было легче модульно писать. Добавил пункт в трей и вызов функции. И написал эту функцию с необходимой функциональностью в отдельном каталоге исходников. Так и проект проще наращивать. И код весь в одном месте. А вот функции могут быть разные и те, которым пофиг где фокус ввода, и те которые его все время держат на себе. Потому я думал, что можно каждую функцию сделать в некотором контейнере, который обрабатывает свою очередь сообщений. У меня прототип вроде работает. За базу взят механизм OnEvent, но в некоторых фунциях можно делать MessageLoop, просто не забывать вернуть механизм обработки сообщений. В главном модуле должен быть только один вызов некоторый функции, которая либо живет до конца работы программы, либо берет на себя фокус, и после закрытия формы умирает Пример умирающей формы - это например или пользовательские настройки программы, или не который интерфейс с пользователем для уточнения работы некоторых функций. Вообщем, то что должно быть временным. Обычно такие формы содежат в себе кучу контролов (кнопки, картинки, панельки, списки, и т.п.) Вот потомуих проще описывать в MessageLoop, а не городить под каждый контрол отдельную функцию. Еще раз всем спасибо. Вроде, все в мозгах вырулилось. Добавлено: Еще бы добавили в AutoIt конструкцию типа Код: Local Func f(x) .... EndFunc | Вот тогда на нем реально большие проекты можно было бы писать |