main form에서 다른 폼에 있는 컴포넌트의 갯수를 알아내기 위해
componentcount를 사용하려면 어떻게 해야하죠?
예를 들어 제가 쓴 코드는 이건데..
savename:=filename;
j:=1;
if ExtractFileExt(saveName)='.trm' then
begin
myini := TIniFile.Create(savename);
for i:=0 to FCreateform.ComponentCount-1 do
begin
comp := FCreateform.Components[i];
if comp is TPanel then
with TPanel(comp) do
begin
myini.WriteInteger('DRAW','NO',j);
inc(j);
end;
메인에서 fcreateform에 있는 컴포넌트를 알아내려고 하는데
이렇게 하면 (이거 ini저장루틴인데.. 콤포넌트의 위치값등을 저장하는..)
저장하면 에러가 납니다. 왜 그러죠?
4라인과 6라인의 fcreateform을 빼면 되는데 그건 메인폼의 콤퍼넌트 갯수이고..
fcreateform의 콤퍼넌트갯수를 메인폼에서 알아내려면 어떻게 하죠?
> main form에서 다른 폼에 있는 컴포넌트의 갯수를 알아내기 위해
> componentcount를 사용하려면 어떻게 해야하죠?
>
> 예를 들어 제가 쓴 코드는 이건데..
>
> savename:=filename;
> j:=1;
> if ExtractFileExt(saveName)='.trm' then
> begin
> myini := TIniFile.Create(savename);
> for i:=0 to FCreateform.ComponentCount-1 do
> begin
> comp := FCreateform.Components[i];
> if comp is TPanel then
> with TPanel(comp) do
> begin
> myini.WriteInteger('DRAW','NO',j);
> inc(j);
> end;
> 메인에서 fcreateform에 있는 컴포넌트를 알아내려고 하는데
> 이렇게 하면 (이거 ini저장루틴인데.. 콤포넌트의 위치값등을 저장하는..)
> 저장하면 에러가 납니다. 왜 그러죠?
> 4라인과 6라인의 fcreateform을 빼면 되는데 그건 메인폼의 콤퍼넌트 갯수이고..
> fcreateform의 콤퍼넌트갯수를 메인폼에서 알아내려면 어떻게 하죠?
하~~ 소스가 눈에 잘 안들어 와서..어떤 상황인지 파악은
잘 안되지만 대충 내용은 여하간에 다른 폼에 있는 ComponentCount
를 알고 싶은 거잖아요..?
{ Main Form }
....
uses FCreateFormUnit;
procedure frmMain.Event;
var
SaveName : string;
begin
...
savename:=filename;
j:=1;
if ExtractFileExt(saveName)='.trm' then begin
myini := TIniFile.Create(savename);
for i:=0 to FCreateform.ComponentCount-1 do begin
comp := FCreateform.Components[i];
if comp is TPanel then
with TPanel(comp) do begin
myini.WriteInteger('DRAW','NO',j);
inc(j);
end;
end;
....
end;
위 내용은 잘못된것이 없는것 같은데요..
혹시 uses 절에 유닛 추가를 안했거나.. 아니면
FcreateForm 자체가 생성되지 않았거나...그런것 같으네요..