Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.041 c
1-1171803886
Moo-Moo-
2007-02-18 16:04
2007.04.15
drag-and-drop


15-1174379513
*Pavel
2007-03-20 11:31
2007.04.15
Подключение по локальной сети. Как восстановить ?


15-1174638171
Тема
2007-03-23 11:22
2007.04.15
Как мне запихать бинарный образ в exe?


2-1174459124
Kolan
2007-03-21 09:38
2007.04.15
Люди, помогите отладить «List out of bounds» :)


6-1161634019
Image
2006-10-24 00:06
2007.04.15
Как идентифицировать в локальной сети устройство?