Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Да сколько угодно можно создавать внутри, кто ж мешает... 27.08.09 18:04 Число просмотров: 2980
Автор: dl <Dmitry Leonov> Отредактировано 27.08.09 18:14 Количество правок: 1
|
> СRuntimeClass, он только еслипоток должен иметь свою > очередь сообщений. А если внутри потока мне надо сотворить > кучу классов, не являющихся окнами? Создавать их снаружи и > передавать внутрь указатели? %опа!
Да сколько угодно можно создавать внутри, кто ж мешает. Создавать снаружи - только если действительно что-то нужно передать в поток извне и нет желания держать глобальные переменые. Потоковая функция - ну как еще одна точка входа в программу, еще одна main, делай в ней что угодно.
> И, вообще, в МФСях все логически-криво: CMyApp сздает
К MFC может быть много претензий, особенно если хочется сделать что-то поперек фреймворка, но так вот мимоходом кидать, что все там логически криво - по меньшей мере опрометчиво. Библиотека большая, используется для разных типов приложений. Просмотр ее исходников обычно закрывает массу вопросов. Ну а хочется чего-то маленького, простого и без наворотов - ну так есть же WTL.
> экземпляр главного окна в InitInstance. Почему?! > Почему не сделать главное окно мембером CMyApp, а весь
Оно вообще-то так и есть.
> процесс инициализации скрыть в недрах конструктора CApp?
Примерно потому же, почему и окна реально создаются не в конструкторе CWnd, к такой двухступенчатой инициализации уж можно было привыкнуть. InitInstance, например, может быть вызвана не только для exe, но и для mfc dll, при этом конструирование объекта там нафиг не нужно, внутри InternalDllMain она дергается для объекта, полученного из AfxGetApp.
> Почему не-оконные классы являются мемберами главного окна, > а не CMyApp? Почему не сделать таким же образом мемберство > для потока?
Это какие? CMyApp, кстати, частный случай CWinThread.
|
|
|