Форум: "Начинающим";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];
ВнизОшибка при удалении Edit. Найти похожие ветки
← →
Black_Tomcat © (2007-09-07 19:58) [0]У меня возникла не большая проблемка. :-) Решение другое придумать можно, но просто интересно, что происходит.
Дело в том, что наEditOnChange Edit
нормально удаляется, а наOnEditKeyDown
удаляется, но после окончания происходит ошибка "Access violation at address XXXXXXXX. Read of address XXXXXXXX". Вот то, что я написал.
procedure TCfgForm.PosHorLDblClick(Sender: TObject);
var Edit:TEdit;
begin
Edit:=TEdit.Create(Nil);
Edit.SetBounds(label2.Left-3,Labe2.Top-3,Label2.Width,Label2.Height);
Edit.Text:=PosHorL.Caption;
Edit.Tag:=1;
PrevPosition:=PosHorSB.Position;
Edit.OnChange:=EditOnChange;
Edit.OnKeyPress:=EditOnKeyPress;
Edit.OnKeyDown:=EditOnKeyDown;
Edit.Parent:=GroupBox4;
Edit.SetFocus;
end;
procedure TCfgForm.EditOnKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Case key of
VK_ESCAPE:Case TEdit(Sender).Tag of
1:begin
PosHorSb.Position:=PrevPosition;
TEdit(Sender).Free;
Exit;
end;
2:begin
PosVerSb.Position:=PrevPosition;
TEdit(Sender).Free;
Exit;
end;
end;
VK_RETURN:Case TEdit(Sender).Tag of
1:begin
TEdit(Sender).Free;
Exit;
end;
2:begin
TEdit(Sender).Free;
Exit;
end;
end;
end;
end;
← →
Инс © (2007-09-07 20:10) [1]Однажды отвечал на похожий вопрос:
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=46005
← →
Вася Правильный (2007-09-07 20:23) [2]уничтожение объекта из собственного обработчика чревато
← →
Black_Tomcat © (2007-09-08 19:49) [3]Большое спасибо.
Все понятно, буду убивать его чужими руками.
← →
MsGuns © (2007-09-08 22:40) [4]Если динамический TEdit отображается в единственном числе, но в разных местах, лучше использовать "обычный" (т.е. созданный в дизайне), показывая его или пряча в нужный момент. В этом случае прятание лучше всего делать в его обработчике OnExit
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c