![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Keeper89 |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Доброго времени суток!
Работаю над проектом, D2007, дома все прекрасно - компилируется и работает. На работе же зависает (приходится ждать загрузки формы очень долго) как экзешник, так и сам проект (при открытии главной формы), либо экзешник открывается с ошибками, которых дома не было. Зависание происходит при перерисовке ShellControls на форме (сужу потому, что они не перерисовываются до конца). Часть методов ShellControls (ShellTreeView и ShellListView) была переопределена, но даже если их убрать лучше не становится. Убрать все из события загрузки формы тоже пробовал. Вот что выдает EventLog (может есть за что зацепится в нем, каждая строка выполнялась секунд 10):
Вот внутренний лог ошибок:
В чем предположительно может быть проблема? Заранее спасибо. Это сообщение отредактировал(а) Keeper89 - 23.6.2009, 14:31 |
||||
|
|||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
смотри что у тебя по адресу 004D26A9
-------------------- Обижено школьников: 8 |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Обращения к VCL из других потоков?
Расскажите хоть что-то про программу-то. Код можно привести. А на пустом месте гадать.... 1001 причину назвать можно, только вам, что 1000, что 1001 - всё одно. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
CodeMonkey, программа - подобие проводника Windows с небольшими дополнениями. Основная часть реализуется связкой ShellTreeView + ShellListView, потоки не используются, только переопределение некоторых сообщений, что как я говорил не влиет если их убрать.
|
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Ну вот и ищи, как в ebx оказываеся 0, и что там должно быть при нормальном выполнении -------------------- Обижено школьников: 8 |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
запусти на выполнение путем нажатия F7, поставь точку останова на вышеупомянутый адрес(или просто поставь строку выделения на этот адрес), потом Ctrl-V(View source), и смотри, где там у тебя нулевой указатель.
|
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Пытаюсь найти строчку 004D26A9 (Ctrl+G) - выделяется линия со знаками вопроса, ставлю брейкпоинт, но при дальнейшем выполнении в ней отладчик не останавливается. Это сообщение отредактировал(а) Keeper89 - 23.6.2009, 23:08 |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
возможно адрес того сбойного места изменился(может опции какие-нибудь поменял или еще что) - посмотри, exception по тому же адресу выбрасывает?. а в Ctrl-G разве не надо $ перед адресом ставить?
|
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
поставил с $, все отлично но ошибок не выдает. Еще раз повторюсь, дома все работает без эксепшнов и зависаний. Вот в чем и проблема. |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Смотри, что за паскалевская строка в этом месте (как сказал dumb, Ctrl-V на этом адресе) и уже от этого пляши дальше. Добавлено через 1 минуту и 6 секунд где-то там возникает ситуация, при которой идет обращение к nil вместо действительного объекта(или другого указателя). |
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Нажимаю контрол+в, к участку кода не перемещается. Заметил следующее - если убрать все шелл контролы, проект зависать перестает (на работе, дома всегда все ок).
|
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Keeper89,
1. Винды разные? 2. На сколько тебе критично использовать именно ShellTreeView + ShellListView? Может можно обойтись VirtualTreeView-шкой? 3. Если критично использовать именно их, то попробуй их попользовать вообще на чистом проекте, может они в связке в другими контролами при определенных условиях не ладят... -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Пробуем включить Use Debug DCUs, сделать Build и повторить остановку на исключении. Также сразу после остановки смотрим окно Call Stack.
См. также про Access Violation вообще. А вот это вот что значит? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
1. Нет XP, SP3 оба. 2. Не критично, главное обеспечивать "функциональность" проводника, может есть компоненты стабильнее используемых мной, но не такие громоздкие и легче для перехода (это все ИМХО конечно), чем VirtualShellTools? 3. Дома чистый проект в связке работает как и готовый проект нормально, на работе же зависает прямо в IDE. IDE зависает при помещении на форму этих самых ShellControls.
Все выставил - все равно никаких исключений. |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
??? Не понял. А в логе вашем не исключения, что-ли, пишутся? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |