Текущий архив: 2007.04.15;
Скачать: CL | DM;
Вниз
Вот такая ошибка начала вываливаться при переходе Найти похожие ветки
← →
Ega23 © (2007-02-20 09:28) [0]с Delphi5 на Delphi7: OnCreate главной формы по некоему условию
if not (biMaximize in BorderIcons) then BorderIcons := BorderIcons + [biMaximize];
На этой строчке вываливаетсяAV at address ... in module ntdll.dll/ Write of address ....
Вот что может вызвать обвал в ntdll такая, казалось бы, безобидная строка????
← →
Rouse_ © (2007-02-20 10:12) [1]OFF: А зачем тебе тут условие? Это же SET...
Include(BorderIcons, biMaximize);
А вообще ничего криминального в коде нет :)
Попробуй на пустой проекте повторить.
← →
Ega23 © (2007-02-20 10:39) [2]
> OFF: А зачем тебе тут условие? Это же SET...
> Include(BorderIcons, biMaximize);
Да это древний проект, я ещё тогда совсем тупо писал...
Я тут в дебри VCL залез, там RecreateWnd вызывается, на нём и сыпется.
Боюсь я сейчас даже и не скажу, что конкретно на загрузке происходит (там только у главной формы >15000 строк кода), а в проект не залезал уже года 3.
В общем, хотелось бы хотя бы приблизительную оценку об ошибке получить - чего там в ntdll может не нравится? Тогда хоть подробнее сказать смогу....
З.Ы. перед финальной сборкой галку Use Debug DCUs надо отключать?
← →
Правильный Вася (2007-02-20 10:48) [3]
> там RecreateWnd вызывается, на нём и сыпется.
вот-вот
зачем тебе эта кнопка понадобилась в динамике?
зашей ее сразу в дизайнере
← →
Ega23 © (2007-02-20 10:53) [4]Так я-ж говорю, эта штука должна добавляться по условию. Которое вычисляется непосредственно перед созданием гл.формы.
← →
Правильный Вася (2007-02-20 11:10) [5]ради интереса попробуй наоборот - по условию изымать
← →
Ega23 © (2007-02-20 11:18) [6]
> ради интереса попробуй наоборот - по условию изымать
>
Попробую, но сильной разницы не вижу - всё равно в SetBorderIcons попаду, а там - на RecreateWnd.... :)
← →
ЮЮ © (2007-02-20 11:27) [7]А если без условий и в самое начало OnCreate, пока твой код не нанес форме ощутимых повреждений?
Форма действительно создается автоматом, без лишних телодвижений в dpr?
← →
Ega23 © (2007-02-20 11:31) [8]
> А если без условий и в самое начало OnCreate, пока твой
> код не нанес форме ощутимых повреждений?
Всё то же самое... :(
> Форма действительно создается автоматом, без лишних телодвижений
> в dpr?
Сначала DataModule создаётся, там, кстати, и условие вычисляется. Потом - главная форма.
← →
Rouse_ © (2007-02-20 12:30) [9]Вот так попробуй:
SetWindowLong(Handle, GWL_STYLE,
GetWindowLong(Handle, GWL_STYLE) or WS_MAXIMIZEBOX);
SendMessage(Handle, WM_NCPAINT, 0, 0);
← →
Ega23 © (2007-02-20 13:20) [10]
> Rouse_ © (20.02.07 12:30) [9]
Спасибо, возьму на заметку. Сейчас просто руки не дойдут - надо танки резко добавлять... :)
Страницы: 1 вся ветка
Текущий архив: 2007.04.15;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.055 c