![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| aktuba |
|
||||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
В программе есть такой код:
Все работает, НО если раскомментировать Try..Finally..End, то в строке
Для справки: Editor - TRichViewEdit, VTree - TVirtualStringTree. В чем здесь проблема, не подскажите??? -------------------- ![]() |
||||
|
|||||
| Тутанхамец |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 10.10.2005 Где: в пирамидЕ! Репутация: 1 Всего: 6 |
|
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Но без Try..Finally..End работает!!! Да и нет там такого. Там есть FocusedNode - узел, выделенный в данный момент в дереве.
-------------------- ![]() |
|||
|
||||
| Тутанхамец |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 10.10.2005 Где: в пирамидЕ! Репутация: 1 Всего: 6 |
Может он в данный момент не выделен?
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Editor.SetFocus;
заменить на if Editor.CanFocus then Editor.SetFocus; -------------------- There are always someone smarter than you... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Дело явно не в try..finally
Копай в другую сторону |
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 19 |
aktuba, ты запускаешь приложение из среды Delphi или само по себе?
В первом случае вполне возможно появление ошибки. Попробуй запустить файлом. -------------------- ...все в мире относительно |
|||
|
||||
| aktuba |
|
||||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Тутанхамец
Значит он равен nil. Это нормальная ситуация. Повторяю - ошибка происходит ТОЛЬКО тогда, когда в коде есть Try..Finally..End. MetalFan
Metal, ну посмотри в какой строке ошибка =)))) Snowy - в какую??? пока просто исключил из этого кода Try..Finally..End. Точнее закоментировалал. Nicholas_S - ошибка происходит когда запускаю приложение из среды. Почему, в этом случае, такая ошибка возможна? -------------------- ![]() |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
какой вопрос, такой ответ) напиши ТЕКСТ ошибки. назначены обработчики OnFocusChanging/Change ? Это сообщение отредактировал(а) MetalFan - 21.12.2006, 23:16 -------------------- There are always someone smarter than you... |
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 19 |
aktuba,
Т.е. когда файлом, то все окей? -------------------- ...все в мире относительно |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
MetalFan - я даже написал в какой строке происходит ошибка.
Nicholas_S - да, когда файлом - все Ok. -------------------- ![]() |
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 19 |
aktuba, значит все ок, так и должно быть.
Когда запускаешь в среде Delphi, секции try-except/finally при возникновении исключения выкидывают в среду разработки, чтобы программист - то есть ты - знал, где произошло исключение. Но вот почему без них у тебя работает, интересно. Можешь кинуть код полностью сюда, посмотрю. -------------------- ...все в мире относительно |
|||
|
||||
| Тутанхамец |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 10.10.2005 Где: в пирамидЕ! Репутация: 1 Всего: 6 |
Ну да. Я это и имел в виду. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
СЕМЕН СЕМЕНЫЧ!!!
ну емое!!!! куда я глядел! перечеитал еще раз представленный вначале код! ЕЩЕ РАЗ рекомендую заменить Editor.SetFocus на if Editor.Canfocus then Editor.SetFocus или вообще убрать его в блок try..finally ибо в случае try..finally..end при ЛЮБОМ исключении, а так же при Exit ОБЯЗАТЕЛЬНО неявно выполнится код после finally.... поставь бряк, увидишь ;) з.ы. ЧИТАЕМ ХЕЛП If an exception is raised during execution of statementList1, control is transferred to statementList2; once statementList2 finishes executing, the exception is re-raised. If a call to the Exit, Break, or Continue procedure causes control to leave statementList1, statementList2 is automatically executed. Thus the finally clause is always executed, regardless of how the try clause terminates. Это сообщение отредактировал(а) MetalFan - 23.12.2006, 19:50 -------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "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. |