Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-8594
Blackman
2003-10-15 20:36
2003.11.03
Спокойной ночи малыши!


1-8500
Fredericco
2003-10-23 20:44
2003.11.03
Порт LPT и WinXP.


3-8290
td
2003-10-11 00:14
2003.11.03
CREATE TABLE


14-8633
NailMan
2003-10-14 17:05
2003.11.03
Нужен какой-нить HEX редактор


1-8494
АСт
2003-10-23 22:07
2003.11.03
Компонент Memo





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский