Клиа.
Cтащено у Юльки Бельчонок
http://yustish.livejournal.com/33263.html
- Сколько у тебя ГГц компьютер?
- Гиг. Или ой нет, посмотрю... три, наверное, но у меня оперативки только 128, вечно все тормозит.
- Слушай, посмотри как мой компонент у тебя работает. У меня мой компонент по-разному работает в зависимости, от того, какая скорость у машины.
- ... Хорошо.
Смотрю. Не работает.
- Я тебя уверяю, что на моей машине он работает.
Проблема с компонентом в том, что при повторном запуске вместо того, чтобы запомнить конфигурацию, дополнительная вкладка то открывается, то вновь не открывается. "Прыгает", как нам сказали тестеры. Проблема никак не может решиться уже несколько дней. Но завтра ставить приложение у клиента.
- Проблема явно в том, что разная скорость машины. Надо по таймеру ее проставлять, тогда все будет работать.
Я примерно помню код, который восстанавливает сохраненную конфигурацию.
- В какой момент ты читаешь из базы флаг, открывать ли эту вкладку?
- В OnPaint я читаю.
- Такие вещи не надо в OnPaint читать, нужно на Load'e прочитать в переменную, а в OnPaint ее уже применять..
- Почему я в OnPaint не могу читать из базы? Она читается в нем только один раз.
- Неизвестно, когда этот OnPaint сработает..
- Слушай, я повторил код из другого компонента, там все работает.
Другой компонент написан третьим разработчиком, я смутно подозреваю, что код повторен не один в один... Ради интереса смотрю в сам код. Переменной (локальной), которая хранила бы состояние отображения этой вкладки, нет вообще, как класс. Вместо это используется свойство Visible панели, на которой лежит эта вкладка.
Здесь важно, что мой собеседник опытный вообщем программист, не начинающий разработчик. Но с учетом нашей архитектуры...
- Слушай, ты когда-нибудь в рефлекторе смотрел, как в .Net работает свойство Control.Visible?
- $%$#^% надо-то..
- Нет, ну интересно же. По set'у в нем устанавливается определенный флаг у контрола, а по get'у читается ни хрена ни этот флаг, а реальное состояние того, видим ли контрол. Т.е. пробегается по всем родителям, и ищется, есть ли флаг у них всех.
- А. Я говорю, надо по таймеру проставить, и все будет работать.
Продолжение следует
http://yustish.livejournal.com/33263.html
- Сколько у тебя ГГц компьютер?
- Гиг. Или ой нет, посмотрю... три, наверное, но у меня оперативки только 128, вечно все тормозит.
- Слушай, посмотри как мой компонент у тебя работает. У меня мой компонент по-разному работает в зависимости, от того, какая скорость у машины.
- ... Хорошо.
Смотрю. Не работает.
- Я тебя уверяю, что на моей машине он работает.
Проблема с компонентом в том, что при повторном запуске вместо того, чтобы запомнить конфигурацию, дополнительная вкладка то открывается, то вновь не открывается. "Прыгает", как нам сказали тестеры. Проблема никак не может решиться уже несколько дней. Но завтра ставить приложение у клиента.
- Проблема явно в том, что разная скорость машины. Надо по таймеру ее проставлять, тогда все будет работать.
Я примерно помню код, который восстанавливает сохраненную конфигурацию.
- В какой момент ты читаешь из базы флаг, открывать ли эту вкладку?
- В OnPaint я читаю.
- Такие вещи не надо в OnPaint читать, нужно на Load'e прочитать в переменную, а в OnPaint ее уже применять..
- Почему я в OnPaint не могу читать из базы? Она читается в нем только один раз.
- Неизвестно, когда этот OnPaint сработает..
- Слушай, я повторил код из другого компонента, там все работает.
Другой компонент написан третьим разработчиком, я смутно подозреваю, что код повторен не один в один... Ради интереса смотрю в сам код. Переменной (локальной), которая хранила бы состояние отображения этой вкладки, нет вообще, как класс. Вместо это используется свойство Visible панели, на которой лежит эта вкладка.
Здесь важно, что мой собеседник опытный вообщем программист, не начинающий разработчик. Но с учетом нашей архитектуры...
- Слушай, ты когда-нибудь в рефлекторе смотрел, как в .Net работает свойство Control.Visible?
- $%$#^% надо-то..
- Нет, ну интересно же. По set'у в нем устанавливается определенный флаг у контрола, а по get'у читается ни хрена ни этот флаг, а реальное состояние того, видим ли контрол. Т.е. пробегается по всем родителям, и ищется, есть ли флаг у них всех.
- А. Я говорю, надо по таймеру проставить, и все будет работать.
Продолжение следует