수십개의 edit 컴포넌트를 사용한 후에 clear를 하려고 할때
procedure tform1.edit_clear(frm:tform; itag:integer);
var i :integer;
begin
for i= 0 to coponentCount-1 do
if components[i] is tedit) and ((components[i] as tedit).itag) then
(components[i] as tedit).text := '';
end;
을 이용하면 'Inavalid class typecast'라는 에러가 나거든여...
사실 위의 if 조건에서 무슨 뜻인지도 잘 모르겠구여...
에러 또한 무슨 말인지 모르겠거든여~
저의 이 무지를 일깨워주실 분 있으신지여T.T...
> 수십개의 edit 컴포넌트를 사용한 후에 clear를 하려고 할때
>
> procedure tform1.edit_clear(frm:tform; itag:integer);
> var i :integer;
> begin
> for i= 0 to coponentCount-1 do
> if components[i] is tedit) and ((components[i] as tedit).itag) then
> (components[i] as tedit).text := '';
>
> end;
>
> 을 이용하면 'Inavalid class typecast'라는 에러가 나거든여...
>
> 사실 위의 if 조건에서 무슨 뜻인지도 잘 모르겠구여...
> 에러 또한 무슨 말인지 모르겠거든여~
>
> 저의 이 무지를 일깨워주실 분 있으신지여T.T...
>
>
제생각엔 현재 폼에 올려진 모든 컴포넌트를 모두 찾아서 하나씩 검색하며.
Tedit 형식의 컨포넌트인지를 확인하여 지우는 것 같군여.
에디트가 맞다면 컴포형식을 TEdit로 바꾸는 것에서 에러가 나는 것 같은데요.
조건문을 뒤에 조건문이 무얼 뜻하는 것인지 저도 모르겠군여.
조건 뒤에 ((components[i] as tedit).itag) 부분이 이상하구여...
캐스팅은 as 보다는 저는 (TEdit)components[i]라는 방식을 예전에
사용했던 기억이 나는 군여...
즐코하세요..