Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
ВнизИнтересное поведение Delphi7 + Frames Найти похожие ветки
← →
Sergey_Masloff (2003-10-23 20:07) [0]Небольшое введение. Есть у меня программа написаная с использованием D5. Не слишком сложная но и не так чтобы совсем простая. Используется наследование форм, а кроме того интенсивно используются фреймы (TFrame) в которых не только накиданы компоненты но и написана логика и они используются как "кирпичики" при создании составных форм. Появилось немного свободного времени (отпуск) и решил ее под D7 скомпилировать. Дело нехитрое - подточил компоненты нестандартные и скомпилировал. И вот при работе при открытии некоторых форм (MDIChild) в которых в свою очередь есть фреймы вылетает AV в ntdll. То что с программой все в порядке я уверен - эксплуатируется несколько лет несколько сот установок - полет нормальный.
Начал копать, понял что AV происходит в момент когда компоненты которые на фрейме читают себя из ресурса при создании формы.
Начал копать дальше - только компоненты конкретного одного фрейма. Потом круг подозреваемых сократился до парочки невинных комбобоксов. При их удалении все стало работать. Потом на их место поставил 2 новых - все работает никаких AV. Спрашивается - что это было?
P.S. Проверял на 3 компьютерах под Win2000 Pro и Server, весь софт (операционки, D5, D7) - лицензионные.
← →
Юрий Федоров (2003-10-23 20:16) [1]Никогда бы не рискнул использовать фреймы при наследовании форм :-)) Да и без наследования стараюсь от них отказаться, если нужно - вставляю другую форму с присвоением Parent
Причина - их крайняя глючность
← →
Sergey_Masloff (2003-10-23 20:28) [2]Юрий Федоров © (23.10.03 20:16) [1]
>вставляю другую форму с присвоением Parent
Я так делал до появления D5
>Причина - их крайняя глючность
Программа про которую идет речь установлена в нескольких сотнях точек (сейчас за 500 перевалило). В программе есть подсистема протоколирования ошибок и логи я получаю регулярно. Могу на основании статистики утверждать что за полтора-два года эксплуатаци глюков связаных с использованием фреймов не было. Вообще. Кстати про глючность фреймов стали говорить в основном после выхода D6 - то ли до этого их не начинали интенсивно применять толи глючить они только начиная с 6 стали.
← →
vuk (2003-10-23 20:36) [3]Некоторые глюки с фреймами, действительно, имеют место быть. Но только в режиме дизайна. Малость перемудрили в Borland... Но, тем не менее, плюсы перевешивают минусы.
← →
Sergey_Masloff (2003-10-23 20:55) [4]vuk ©
В моем случае глюк не в design-time. Кстати сейчас написал специально для тестирования кусочек, дергает ы цикле все формы в которых фреймы - все работает. То есть был какой-то коварный глюк местного значения. Но он мне не приснился - код работающий в D5 и не работающий в D7 остался и ошибка воспроизводима 100%
← →
MBo (2003-10-23 20:59) [5]Не эта ли ошибка случайно?
One higly stinky bug is that if you have a null value first in a combobox
you get an AV in ntdll when running D7 apps on any other OS than WinXP.
← →
Sergey_Masloff (2003-10-23 21:01) [6]MBo ©
С меня причитается. 100% оно.
← →
MBo (2003-10-23 21:02) [7]тогда
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=18872
← →
vuk (2003-10-23 21:08) [8]to Sergey_Masloff:
>ошибка воспроизводима 100%
То есть имеется минимальный код, который воспроизводит ошибку? Если имеется, то такому коду самое место в QualityCentral и "Подводных камнях" на delphikingdom.com
← →
vuk (2003-10-23 21:11) [9]Ну вот, пока отвлекался, оказывается уже все нашлось. :o)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c