아래와 같은 폼이벤트를 상속받아
엔터키를 치면 TAB기능과같이 처리를 하려하는데,
'ABSTRACT ERROR'가 자꾸납니다.
뭘 잘못해 에러가 나는건지요?
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i , j, temp : integer ;
begin
// Retuen KEY : Move Next Field //
if key = VK_Return then
begin
for i := 0 to ComponentCount - 1 do
begin
if TWincontrol(Components[i]).focused = true then
begin
if Components[i] is TMemo then
else
begin
SelectNext(TWincontrol(Components[i]),true,true);
break;
end;
end;
end;
end;
end;
실행해보진 않아서 잘모르겠는데 소스를 보니 왠지 약간 꺼림직하군요.
for i := 0 to ComponentCount - 1 do
begin
if TWincontrol(Components[i]).focused = true then
이부분에서.. Components 에 들어가는건 폼에 있는 모든 콤포넌트죠.
TWinControl 이라는건 TComponent의 자식이구요. ( 정확히는 할배인가 ㅎㅎ)
따라서 폼안에 TWincontrol의 자손이 아닌 콤포넌트가 있다면 에러가 생길수 있겠네요. 대표적인게 TGraphicControl의 자손들일것 같군요.
뭐.. 이미지라던지... 라벨이라던지...
따라서 우선 이게 맞는지 부터 첵크를 해야겠죠?
for i := 0 to Compoenetcount -1 do
begin
if Components[i] is TWinComtrol then
begin
......
end
첵크한번 넣어주시는게 좋을듯 하네요
아마두 넣어주심 에러안생길껍니다. 그럼..