Здравствуйте, SchweinDeBurg, Вы писали:
SDB>Здравствуйте, Splin, Вы писали:
S>>Имеет смысл удалить из сборки *Impl классы чтобы не путать рядовых пользователей.
SDB>Я уж было собирался это сделать, но обнаружилась занятная вещь — DDX_CONTROL_HANDLE() не вполне корректно обрабатывает ситуацию, когда он вызывается повторно, и плюется ассертами, что мне не очень понравилось. А с "моими" *Impl-классами и DDX_CONTROL() подобного не наблюдается. Детально разбираться, что там не так, у меня пока, к сожалению, не было времени.
Не трудно заметить что он практически идентичен и фильтрует уже проинициализированные контролы.
Даже не знаю почему у Вас ASSERT, но, думаю, не из-за DDX_CONTROL_HANDLE.
В случае с DDX_CONTROL происходит сабклассинг, т.е. подмена оконной процедуры. Эта процедура нужна лишь для контролов, которые заменяют стандартные (например CHyperLink, CSortListViewCtrl и т.п. из файла atlctrlx.h) и обрабатывают сообщения. Пользоваться сабклассингом нужно осторожно, т.к. во-первых нужно вызывать UnsubclassWindow, во-вторых если объект в памяти будет разрушен до разрушения окна и не вызван UnsubclassWindow, то программа упадет из-за того, что адрес оконной процедуры будет не действителен. Это приводит к трудно уловимым ошибкам. В случае DDX и диалога это не критично, но... Ваш метод связан с дополнительным расходом памяти (см. ATL::CWindowImplRoot и ATL::CWindowImplBaseT). В случае обычного контрола, в классе храниться только его HWND (см ATL::CWindow) — минимум дополнительных расходов.
Надеюсь я достаточно хорошо пояснил почему эти классы не просто не нужны, а даже плохи .
Здравствуйте, Splin, Вы писали:
S>Здравствуйте, SchweinDeBurg, Вы писали:
SDB>>Здравствуйте, Splin, Вы писали:
S>>>Забыл добавить, что некоторые ошибки уже исправлены в WTL 8.0 (некоторые при моем участии ). Автору сборки хочу посоветовать внимательнее просмотреть последние изменения и убрать из описания официально исправленные ошибки.
SDB>>Гх-м-м... я-то из CVS все качаю и список исправлений/дополнений каждый раз цитирую для очередной ревизии...
S>Я тоже оттуда качаю, но еще и на почту получаю нотификации. Подписка удобна — как только кто-то что-то залил, приходит письмо с изменениями. S>Своим сообщением хотел сказать только то, что не стоит приписывать сборке исправления сделанные уже в офф. версии .
Я имел ввиду список испавлений выложеный на сайте
Исправления и дополнения:
[PRB] WinCE + CAppWindowBase::ActivatePreviousInstance()
[PRB] Ошибка в реализации функции SCALERECT из <DeviceResolutionAware.h>
[PRB] VS 2005 + WTL 7.5 + WinCE + CMenuT
[PRB] WTL 7.5 + WinCE + CString + no automatic namespaces
[PRB] WTL 7.5 + WinCE + _WTL_NO_AUTOMATIC_NAMESPACE
Здравствуйте, Splin, Вы писали:
S>Не трудно заметить что он практически идентичен и фильтрует уже проинициализированные контролы. S>Даже не знаю почему у Вас ASSERT, но, думаю, не из-за DDX_CONTROL_HANDLE.
Ну ОК, завтра у меня релиз, а на выходных попробую посмотреть повнимательнее, кто у меня брыкается. Как разберусь — уберу этих *Impl-ов.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
Вы отслеживаете только корневые изменения файлов... Во вторник atlwince.h изменялся дважды. Подписка на изменение репозитория думаю решит эту проблему .
Последний баг тоже исправили, когда точно не помню — давно было...
Можно просто сравнить папки (Araxis Merge очень помогает ).
А ведь Вы чертовски правы! Сейчас сравнил WinMerge-ом — так и есть, этот дифференс отсутствует. Значит, сегодня вечерком поправлю сайт.
S>Вы отслеживаете только корневые изменения файлов...
М-м-м... это как?
S>Подписка на изменение репозитория думаю решит эту проблему .
Вот если бы мне еще сказали, как ее заполучить. Я как-то уже хотел, но с налета не нашел.
S>Последний баг тоже исправили, когда точно не помню — давно было...
И тут Ваша правда, посыпаю голову пеплом.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>Здравствуйте, Splin, Вы писали:
S>>Следующий претендент — DockingFramework от Сергея Климова.
SDB>К вопросу о — здесь, как я знаю, лежит не последняя версия. И моя просьба так и осталась безответной, равно как и эта, эта и SDB>эта. Не поделитесь?
Я тоже не мог найти последнюю версию пока не набрел на open source проект Programmer's Notepad. Там она лежит в SVN. Но там нет изменений сделанных Daniel Bowen-ом... Думаю надо мержить и проверять...
SDB>А ведь Вы чертовски правы! Сейчас сравнил WinMerge-ом — так и есть, этот дифференс отсутствует. Значит, сегодня вечерком поправлю сайт.
WinMerge
S>>Вы отслеживаете только корневые изменения файлов...
SDB>М-м-м... это как?
Так... Файлы имеют номер версии.. Вы просто смотрите только последнюю версию файла — т.е. только последние изменения
S>>Подписка на изменение репозитория думаю решит эту проблему .
SDB>Вот если бы мне еще сказали, как ее заполучить. Я как-то уже хотел, но с налета не нашел.
1) логинимся на sourceforge.net
2) открываем проект http://sourceforge.net/projects/wtl
3) идем в Mailing Lists
4) идем в Subscribe/Unsubscribe/Preferences
5) заполняем Your email address и жмем Subscribe.
Кажись все
S>>Последний баг тоже исправили, когда точно не помню — давно было...
SDB>И тут Ваша правда, посыпаю голову пеплом.
Переместимся в КСВ? Или останемся в рамках конструктива?
S>Так... Файлы имеют номер версии.. Вы просто смотрите только последнюю версию файла — т.е. только последние изменения
Дошло.
S>Кажись все
Сенькс, подписался.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>Здравствуйте, Splin, Вы писали:
S>>Я тоже не мог найти последнюю версию пока не набрел на open source проект Programmer's Notepad. Там она лежит в SVN.
SDB>Спасибо, качну и добавлю.
S>>Но там нет изменений сделанных Daniel Bowen-ом... Думаю надо мержить и проверять...
SDB>Упс... а когда это он их делал?
Давно. Сравните то что идет с TabbingFramework и то что на codeproject от Климова. WinMerge все покажет (я за конструктив).
Я тоже хотел давно уже привести к общему знаменателю эту библиотеку — банально не доходят руки..
Возможно скоро сделаю. Для себя добавил новый класс — VC2005LikeCaption.h . Пока тестирую, как доделаю — поделюсь.
Здравствуйте, Splin, Вы писали:
S>Давно. Сравните то что идет с TabbingFramework и то что на codeproject от Климова. WinMerge все покажет (я за конструктив).
Показало... правда, я очень бегло пробежался. А просто взять то, что я из SVN выкачал, нас не устраивает? Насколько я понял, там люди отновительно недавно что-то правили. Или Дэниэл привнес что-то важное, чего я за беглостью пока не разглядел?
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>Здравствуйте, Splin, Вы писали:
S>>Давно. Сравните то что идет с TabbingFramework и то что на codeproject от Климова. WinMerge все покажет (я за конструктив).
SDB>Показало... правда, я очень бегло пробежался. А просто взять то, что я из SVN выкачал, нас не устраивает? Насколько я понял, там люди отновительно недавно что-то правили. Или Дэниэл привнес что-то важное, чего я за беглостью пока не разглядел?
Для начала достаточно взять из SVN. Потом будем посмотреть.
P.S.
PropertyGrid control был немного подточен напильником на предмет явного указания соответствующих пространств имен; плюс ячейки с чекбоксами, находящиеся в колонках "формата" LVCFMT_CENTER, отображаются по центру колонки (а не прижатыми влево, как в оригинале). Код опробован и вполне успешно используется в Spb Kiosk (на стороне десткопа).
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>Здравствуйте, Splin, Вы писали:
S>>Для начала достаточно взять из SVN. Потом будем посмотреть.
SDB>Done: [UPD] rev. 48
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>Здравствуйте, Splin, Вы писали:
S>>Было бы неплохо номер ревизии (билда) в название архива вынести чтобы не было путаницы
SDB>Done.
S>>и вести историю.
SDB>Имеется ввиду — на странице проекта?
Я про историю изменений ревизий (что добавили, удалили, исправили). На сайте выкладывать по желанию, но в архив было бы неплохо такой файл положить