У SVN крейсерская скорость 3К/сек.
Chesh, ну, скажем, про знаменитый TMenu
- Все менюхи объединены в связанный список, который начинается в TControl.fMenuObj. Для того чтобы можно было пролистать их ВСЕ, и найти в оконной ф-ии к какому же меню относится пришедший WM_COMMAND (по иденту)
- И, за каким-то лядом, деструктор одного стартового TMenu уничтожает ВЕСЬ хвост списка.
- Главное меню можно создать только один раз (признак - TControl.fMenuObj=nil), далее - только редактировать его. Без создания главного - PopUp не сделаешь. Никакими манипуляциями невозможно сделать TControl.fMenuObj=nil. Нарушено основное в KOL правило: грохнул TObj - обнули PObj.
- Если есть активное MainMenu у контролла, то его Free уничтожает все меню через fMenuObj.free, а там пытаются отстегнуть меню через SetMenu(FControl.fHandle, 0). Это, естественно вызывает отрисовку, а контролл уже покоцанный... Далее - алес капут
А как это же сделать в виде патча - не представляю
