![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Kbl4AH |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 4 Всего: 15 |
вбил в кнопочку
форма появилась - сразу нажал на кнопочку - заголовок формы стал '1-й элемент списка' Это при заккоментированном Button.Click в процедуре Form.Show... А если Button.Click в процедуре Form.Show оставить, то прежняя ошибка... Я так понимаю, что это из-за того, что форма еще не отобразилась, а я уже лезу к выделенному элементу... Наверное, нужно использовать другое событие (когда форма полностью видна вместе с выделениями дерева)... Я не знаю какое Это сообщение отредактировал(а) Kbl4AH - 30.10.2008, 15:25 |
||||
|
|||||
| pseud |
|
||||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
все элементрано, у тебя
вот ты и имеешь AV при обращении к свойству nil'а
Добавлено через 1 минуту и 32 секунды делай раз: делаешь у своего cxTreeView1.TabOrder = 0 (ну и всем его Parent'ам тоже). -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
||||
|
|||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 4 Всего: 15 |
Зачем это? Все оказалось проще... Я заменил процедуру FormShow на FormPaint и ошибки не стало Это сообщение отредактировал(а) Kbl4AH - 30.10.2008, 15:32 |
|||
|
||||
| morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 2 Всего: 8 |
а ты знаешь что это будет происходить каждый раз, когда форма перерисовывается...а теперь представь ситуацию - пользователь выбрал нужный узел и начинает с ним работать - например менять какие то данные, а тут ему по аське анекдот прислали...понятно, что анекдот - это привилегированное событие - и он откроет окно сообщений, прочитает, а потом обратно в программу, а тут твой FormPaint опять отработает (если было перекрытие форм)...и выделенный элемент пропадет!!!
если тебе это не грозит, то можешь оставить как сделал, если грозит то сделай так:
|
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 4 Всего: 15 |
morpheyushka, пасиб, давно бы так, твое решение лучше=)
Тока все равно как-то немного не так... Не нравится то, что зачем фокус принудительно ставить, если он все равно на дереве окажется??? Это сообщение отредактировал(а) Kbl4AH - 30.10.2008, 15:46 |
|||
|
||||
| morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 2 Всего: 8 |
Ну извини, что мозги попудрили немного
|
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
morpheyushka,
Kbl4AH, лучше все таки проверить TreeView1.Selected т.к. ведь в дереве может быть пусто. и тогда дальнейшее обращение к свойствам вызовет AV рекомендую так:
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 4 Всего: 15 |
Нет, все не так...
Сто пудово всегда выделяется первый элемент дерева (хотя, на момент FormShow - TreeView1.Selected в самом деле = nil)... Просто выделение происходит после того, как произошло событие FormShow... Какое событие следует за FormShow? Это сообщение отредактировал(а) Kbl4AH - 30.10.2008, 15:53 |
|||
|
||||
| morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 2 Всего: 8 |
|
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
вот ты нам и расскажи так в каком же событии происходит обновление инфы в дереве? -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 4 Всего: 15 |
morpheyushka, на момент OnActivate элемент дерева тоже еще не успевает выделиться...
А в момент OnPaint ты говоришь, что не целесообразно... То есть, все-таки лучше остановиться на принудительной остановке фокуса или как? |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
или это не ты ее там обновляешь?
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 4 Всего: 15 |
Я пока еще такого сложного не знаю |
|||
|
||||
| morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 2 Всего: 8 |
FormActivate я выше написал все, что касается формы) Добавлено через 1 минуту и 58 секунд Если там 100% будут данные, то можно остановиться на моем примере, если могут и не быть, то во избежание AV нужно сделать еще проверку
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |