Текущий архив: 2003.09.22;
Скачать: CL | DM;
ВнизRunTime error 216 Найти похожие ветки
← →
Andy BitOff (2003-09-08 16:27) [0]При закрытии формы вываливается сообщение Runtime error 216. Кто-нибудь разъяснит мне что это и где искать причину.
Спасибо.
← →
Verg (2003-09-08 16:34) [1]В вашей программе.
← →
Andy BitOff (2003-09-08 16:36) [2]Да
← →
Verg (2003-09-08 16:36) [3]Что это - Delphi Help|Runtime errors|Fatal errors
← →
dima_shapkin (2003-09-08 16:36) [4]Только там.
← →
Verg (2003-09-08 16:37) [5]
> Andy BitOff (08.09.03 16:36) [2]
> Да
Я говорю, что искать надо в Вашей программе. Больше негде...
← →
Arm79 (2003-09-08 16:37) [6]Прикольный вопрос. А когда я закрываю пустую форму, у меня ничего не вываливается. Странно.
← →
Переяслов Григорий (2003-09-08 16:38) [7]Это банальный AV. Где - то при работе формы не возвращаешь память.
← →
Verg (2003-09-08 16:39) [8]
> Где - то при работе формы не возвращаешь память.
В общем случае скорее наоборот - используется невыделенная память.
← →
Переяслов Григорий (2003-09-08 16:51) [9]> Verg © (08.09.03 16:39) [8]
Я чаще всего не возвращаю (особенно если при закрытии формы) :-)
← →
Verg (2003-09-08 16:56) [10]
> Переяслов Григорий © (08.09.03 16:51) [9]
Не, это я про то, что с чего бы при невозврате памяти происходил AV ?
← →
Переяслов Григорий (2003-09-08 16:57) [11]Электричество до конца не изучено :-)
← →
Arm79 (2003-09-08 17:10) [12]Может автор приведет исходный код модуля?
← →
Verg (2003-09-08 17:19) [13]
> Может автор приведет исходный код модуля?
Не дождесси :))))
Вообще то на такие вопросы, как subj, принято отвечать:
"Ошибка в 17-ой строке"
← →
Arm79 (2003-09-08 17:28) [14]Учту замечание.
← →
Andy BitOff (2003-09-08 17:43) [15]Прошу прощения за отсутствие, шел с работы домой. Почита я тут чего мне понаписали, да...
Исходники 115Кб, так что здесь их не приведешь.
Вообще-то я расчитывал на то, что кто то сталкивался и расскажет что да как. А раз так, то попробую сам разобраться :(((
← →
Кто-то (2003-09-08 18:40) [16]Форма живет в DLL? Или использует DLL?
← →
Andy BitOff (2003-09-08 19:13) [17]Нет обычная форма. Единственное, что использую рисование через hDC. Примерно так:
ScreenDC:=GetDC(TS0.Handle);
SetBkColor(ScreenDC,MainForm.Color);
brush:=CreateSolidBrush(MainForm.Color);
Pen:=CreatePen(PS_SOLID,1,MainForm.Color);
SelectObject(ScreenDC,brush);
SelectObject(ScreenDC,pen);
for i:=1 to AtomSh do begin
a:=(i-1)*4;
windows.Rectangle(ScreenDC, Atomv1[a+1], Atomv1[a], Atomv1[a+1]+Atomv1[a+2], Atomv1[a]+Atomv1[a+3]);
end;
font:=CreateFont(5,7,GM_ADVANCED,0,FW_DONTCARE,0,0,0,ANSI_CHARSET,OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS,DEFAULT_QUA LITY,DEFAULT_PITCH,"MS Sans Serif");
SelectObject(ScreenDC,font);
...
TextOut(ScreenDC,3,3,PChar(s),Length(s));
Pen:=CreatePen(PS_SOLID,1,clBlack);
SelectObject(ScreenDC,pen);
for i:=1 to AtomSh do begin
a:=(i-1)*4;
windows.Ellipse(ScreenDC,Atomv[a+1], Atomv[a], Atomv[a+1]+Atomv[a+2], Atomv[a]+Atomv[a+3]);
end;
for i:=0 to Length(Atomv) do Atomv1[i]:=Atomv[i];
DeleteObject(brush);
DeleteObject(pen);
DeleteObject(font);
ReleaseDC(0,ScreenDC);
← →
Кто-то (2003-09-08 19:27) [18]Вы не восстанавливаете прежние графические объекты.
var
SaveBrush, Brush: HBRUSH;
...
Brush := CreateSolidBrush( ColorToRGB(MainForm.Color));
SaveBrush := SelectObject(ScreenDC, Brush);
...
SelectObject(ScreenDC, SaveBrush);
DeleteObject(Brush);
Страницы: 1 вся ветка
Текущий архив: 2003.09.22;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.01 c