C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Интересная ошибка, Ошибка в TTreeView только c манифестом
avb
Отправлено: 22.11.2006, 18:23


Ученик-кочегар

Группа: Участник
Сообщений: 10



На фирме давно работает моя программа. Создал и подсунул в папку с ней файл .manifest. Все отлично — кнопки стали XP-шные. Открыл в ней диалог с TTreeView — вывалилась с ".... Чтения по адресу 00000004." Убрал манифест — ошибок нет!
Гружу исходники в BCB 6.0 и подсовываю манифест — ошибка после заполнения TTreeView узлами верхнего уровня на вызове TreeView1->EndUpdate() (причем это окно не закрывается по кнопке Ok). Убираю все пары Begin...EndUpdate() — узлы верхнего уровня показываются без ошибок!
Щелкаю на "+" узла — снова ошибка, которая происходит где-то в недрах до вызова обработчика OnExpanded. Окно с ошибкой в отличии от первого случая по кнопке Ok закрывается и узел в TreeView раскрывается. Причем ошибки при повторном раскрытии именно этого узла больше не возникает, но на других все повторяется. Повторяю, что ошибка возникает не в обработчике OnExpanded.

Проверил на других своих программах с TTreeView — там где дерево заполняется все сразу ошибок нет, а где по мере раскрытия узлов — ошибка!
avb
Отправлено: 22.11.2006, 19:02


Ученик-кочегар

Группа: Участник
Сообщений: 10



И еще:
Если при заполнении дерева узлами верхнего уровня оставить Begin...EndUpdate(), поместить это в блок try...catch, скомпилировать и запустить вне BCB — ошибка все равно выскакивает!
Grigoriy
Отправлено: 22.11.2006, 19:43


Мастер участка

Группа: Участник
Сообщений: 381



QUOTE
...подсунул в папку с ней файл .manifest ...

Пробуйте совать другой файл с расширением большим чем 3 символа.
Возможно, под расширение где-то предназначена строка на 3 символа и происходит выход за пределы этой строки.
avb
Отправлено: 22.11.2006, 19:49


Ученик-кочегар

Группа: Участник
Сообщений: 10



2 Grigoriy

Ничего не понял!
Grigoriy
Отправлено: 22.11.2006, 20:18


Мастер участка

Группа: Участник
Сообщений: 381



Да вот я то и сам не особо понял.
Судя по фактам, приведенным вами, может быть бесчисленное множество причин, по одной из которых ваша программа отказывается нормально работать.

Отредактировано Grigoriy — 22.11.2006, 20:18

Вернуться в Вопросы программирования в C++Builder