Q&A

  • 폼의 동적생성...
폼이 Form1,Form2 2개가 있다면..

Form1 에서 버튼을 클릭하면..

Form2 하나가 동적으로 생성이 됨니다.

Form1 에서 또 버튼을 클릭하면..

Form2 가 또 하나가 동적으로 생성이 됨니다..

이런게 가능한가요..

제가 설명을 제데로 했는지 모르겠네요..

암튼.. 버튼을 클릭할때마다.. Form2와 디자인이 똑같은 폼을 만들고 싶거든요..

그리고 만들어 졌다면.. 각 폼에 서로다른 데이터들을 뿌려야 하는데..

이 Form 들 사이에 구분은 어떻게 하지요..





3  COMMENTS
  • Profile
    골든락 2001.03.09 20:15
    델파초짜.. wrote:

    > 폼이 Form1,Form2 2개가 있다면..

    > Form1 에서 버튼을 클릭하면..

    > Form2 하나가 동적으로 생성이 됨니다.

    > Form1 에서 또 버튼을 클릭하면..

    > Form2 가 또 하나가 동적으로 생성이 됨니다..

    > 이런게 가능한가요..

    > 제가 설명을 제데로 했는지 모르겠네요..

    > 암튼.. 버튼을 클릭할때마다.. Form2와 디자인이 똑같은 폼을 만들고 싶거든요..

    > 그리고 만들어 졌다면.. 각 폼에 서로다른 데이터들을 뿌려야 하는데..

    > 이 Form 들 사이에 구분은 어떻게 하지요..

    >

    >



    폼변수를 배열로 잡아놓고 사용하심됩니다.



    form1에서

    const

    MAX_FORM = 100;



    var

    frm : array[1..MAX_FORM] of TForm2;

    IsCreate: array[1..MAX_FORM] of Boolean;



    button click시

    IsCreate를 이용해 생성되지 않은 번호를 찾고, // 만일 5번이 비었다면

    frm[5] := TForm2.Create(self);



    뭐.. 이런식이면 되지 않을까요?

    메인폼이 죽을때



    for i := 1 to MAX_FORM do

    if IsCreate[i] then frm[i].free;



    대충, 로직만 이해하세요...

  • Profile
    델초봅니다. 2001.03.09 20:47
    폼을 동적으로 생성하는 이유가 뭐지여?



    용량땜인가요?



    걍 제작할때 만들어 놓고 연결만 하면 돼지 않나여?



    동적으로 생성하는 이유와 어떨때 그렇게 사용하는지 궁금합니다....



    골든락 wrote:

    > 델파초짜.. wrote:

    > > 폼이 Form1,Form2 2개가 있다면..

    > > Form1 에서 버튼을 클릭하면..

    > > Form2 하나가 동적으로 생성이 됨니다.

    > > Form1 에서 또 버튼을 클릭하면..

    > > Form2 가 또 하나가 동적으로 생성이 됨니다..

    > > 이런게 가능한가요..

    > > 제가 설명을 제데로 했는지 모르겠네요..

    > > 암튼.. 버튼을 클릭할때마다.. Form2와 디자인이 똑같은 폼을 만들고 싶거든요..

    > > 그리고 만들어 졌다면.. 각 폼에 서로다른 데이터들을 뿌려야 하는데..

    > > 이 Form 들 사이에 구분은 어떻게 하지요..

    > >

    > >

    >

    > 폼변수를 배열로 잡아놓고 사용하심됩니다.

    >

    > form1에서

    > const

    > MAX_FORM = 100;

    >

    > var

    > frm : array[1..MAX_FORM] of TForm2;

    > IsCreate: array[1..MAX_FORM] of Boolean;

    >

    > button click시

    > IsCreate를 이용해 생성되지 않은 번호를 찾고, // 만일 5번이 비었다면

    > frm[5] := TForm2.Create(self);

    >

    > 뭐.. 이런식이면 되지 않을까요?

    > 메인폼이 죽을때

    >

    > for i := 1 to MAX_FORM do

    > if IsCreate[i] then frm[i].free;

    >

    > 대충, 로직만 이해하세요...

  • Profile
    델파초짜.. 2001.03.10 03:15
    흠.. 제가 질문을 올렸는데 되려 질문을 하시다니..

    Form1 이란 폼이 하나 있는데..

    제가 이 Form1과 똑같은 폼이 50 개가 필요합니다..

    그래서 하나하나 만들어도 되지만..

    그것보다는 동적으로 필요할때 하나씩 생성하는게.. 낳을지 않을까.. 해서...

    델초봅니다. wrote:

    > 폼을 동적으로 생성하는 이유가 뭐지여?

    >

    > 용량땜인가요?

    >

    > 걍 제작할때 만들어 놓고 연결만 하면 돼지 않나여?

    >

    > 동적으로 생성하는 이유와 어떨때 그렇게 사용하는지 궁금합니다....

    >

    > 골든락 wrote:

    > > 델파초짜.. wrote:

    > > > 폼이 Form1,Form2 2개가 있다면..

    > > > Form1 에서 버튼을 클릭하면..

    > > > Form2 하나가 동적으로 생성이 됨니다.

    > > > Form1 에서 또 버튼을 클릭하면..

    > > > Form2 가 또 하나가 동적으로 생성이 됨니다..

    > > > 이런게 가능한가요..

    > > > 제가 설명을 제데로 했는지 모르겠네요..

    > > > 암튼.. 버튼을 클릭할때마다.. Form2와 디자인이 똑같은 폼을 만들고 싶거든요..

    > > > 그리고 만들어 졌다면.. 각 폼에 서로다른 데이터들을 뿌려야 하는데..

    > > > 이 Form 들 사이에 구분은 어떻게 하지요..

    > > >

    > > >

    > >

    > > 폼변수를 배열로 잡아놓고 사용하심됩니다.

    > >

    > > form1에서

    > > const

    > > MAX_FORM = 100;

    > >

    > > var

    > > frm : array[1..MAX_FORM] of TForm2;

    > > IsCreate: array[1..MAX_FORM] of Boolean;

    > >

    > > button click시

    > > IsCreate를 이용해 생성되지 않은 번호를 찾고, // 만일 5번이 비었다면

    > > frm[5] := TForm2.Create(self);

    > >

    > > 뭐.. 이런식이면 되지 않을까요?

    > > 메인폼이 죽을때

    > >

    > > for i := 1 to MAX_FORM do

    > > if IsCreate[i] then frm[i].free;

    > >

    > > 대충, 로직만 이해하세요...