Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.028 c
2-1174460053
Vas
2007-03-21 09:54
2007.04.15
Генератор чисел


2-1175016208
Express
2007-03-27 21:23
2007.04.15
Вопрос по WMI?


8-1154954395
ArtemESC
2006-08-07 16:39
2007.04.15
Как считать изображение, находящееся за...


15-1173879490
Vlad Oshin
2007-03-14 16:38
2007.04.15
Проблема с копированием текста из delphi. крякозябы


6-1161764071
yuriks
2006-10-25 12:14
2007.04.15
idFTP и большие файлы




   Наверх