Q&A

  • 동적생성한 판넬이 ....


동적으로 판넬을 여러개 생성했는데 FindComponent를 쓰면 그 컴포넌트를 못찾는거 같아요. 컴포넌트 이름은 맞는데..



판넬을 생성할 때 Panel_1, Panel_2.. 이런식으로 판넬의 이름을 줬는데요..

이름을 Pnael1, Panel2,.. 이런 식으로 하면 이미그런 이름이 있다고 에러가 나더라고요.. 물론 폼위에는 그런 판넬은 없죠..



그래서 FindComponent를 쓰면 판넬은 못찾고,, 근데 디자인시에 올려논 판넬은 찾더라고요. 그래서 제 짧은 생각에 그게 동적으로 생성하면서 이름을 지정하는거 외에 등록을 시켜야 하는건가요?



판넬이 생성되는 폼은 Form1이고 판넬을 동적으로 생성하는 문장은 form2에 있는데..

이런식으로요...



form2에서



procedure form2.button1click(..)

var

temp : TPanel;

begin

temp := TPanel.create(nil);

parent := form1;

..



이런식으로 했는데 이문장이 잘못 된거가요??

하여간 미치겠읍니다. 답답해서.. 왜 디자인시에 올려논 판넬은 인식하고 동적으로 생성한 판넬은 인식을 못하는거죠?



고수분들의 많은 참여바랍니다.

1  COMMENTS
  • Profile
    사이비쥐<;●●~ 2001.11.03 20:10
    장덕권 wrote:

    >

    > 동적으로 판넬을 여러개 생성했는데 FindComponent를 쓰면 그 컴포넌트를 못찾는거 같아요. 컴포넌트 이름은 맞는데..

    >

    > 판넬을 생성할 때 Panel_1, Panel_2.. 이런식으로 판넬의 이름을 줬는데요..

    > 이름을 Pnael1, Panel2,.. 이런 식으로 하면 이미그런 이름이 있다고 에러가 나더라고요.. 물론 폼위에는 그런 판넬은 없죠..

    >

    > 그래서 FindComponent를 쓰면 판넬은 못찾고,, 근데 디자인시에 올려논 판넬은 찾더라고요. 그래서 제 짧은 생각에 그게 동적으로 생성하면서 이름을 지정하는거 외에 등록을 시켜야 하는건가요?

    >

    > 판넬이 생성되는 폼은 Form1이고 판넬을 동적으로 생성하는 문장은 form2에 있는데..

    > 이런식으로요...

    >

    > form2에서

    >

    > procedure form2.button1click(..)

    > var

    > temp : TPanel;

    > begin

    > temp := TPanel.create(nil);

    > parent := form1;

    > ..

    >

    > 이런식으로 했는데 이문장이 잘못 된거가요??

    > 하여간 미치겠읍니다. 답답해서.. 왜 디자인시에 올려논 판넬은 인식하고 동적으로 생성한 판넬은 인식을 못하는거죠?

    >

    > 고수분들의 많은 참여바랍니다.



    procedure TForm2.Button1Click(Sender: TObject);

    var

    temp : TPanel;

    begin

    temp := TPanel.create(form1);

    temp.parent := form1 ;

    temp.Name := String('Panel_1') ;

    temp.caption := temp.name ;

    temp.Top := form1.panel4.Top + form1.panel4.height + 20 ;

    temp.left := form1.panel4.left ;

    end;



    이렇게 고쳐보세영^^