Здравствуйте, Аноним, Вы писали:
KB>>А дочерним окнам не приходит чего-нибудь тривиального типа WM_CLOSE?
А>вся неприятность положения заключается в том, что окна создаваемые доп потоками они по первоначалу на длительный период времени заняты — там список заполняется здоровый (для чего в отдельный поток и вынесены), соответственно они вообще сообщения не обрабатывают,
Смотрим дизайн MFC — один поток (главный, UI) крутит message loop и создает
все оконные объекты, рабочие потоки поставляют данные визуальным контролам, о чем докладывают механизмами синхронизации. Здесь нужно сделать то же самое.
А>но при этом закрытие основного окна гасит потоки по любому и сразу, вне зависимости от того заполняется этот список или уже заполнен. соответственно WM_CLOSE не приходит,
Хэндлы потоков, похоже, закрываются, из чего система делает справедливый вывод, что их (потоки) смело можно грохнуть, ибо воспользоваться данными из них уже не представляется возможным.
А>я то хотел найти момент когда доп окна гасят и поставить там какой-нибудь event,
Потоки должны тогда регулярно проверяться на предмет этого event'а (речь именно о событии, а не посылке оконного сообщения).
А> чтобы выскочить из процедуры заполнения списка, и нормально закончится, а момент этот все-таки, наверное, можно поймать только в ExitInstance основного приложения, потом уже поздно пить баржоми, система сама разбирается с моими потоками ....
А>Просто надеялся, что ошибюсь и можно как то измудриться и реализовать все внутри ДЛЛ, наверное, не выйдет
Ошибаешься. Можно. Внутри. Выйдет.