Q&A

  • 동적으로 생성된 폼이 아닌 자동으로 생성된 폼을 사용하는 방법
질문의 내용은 이렇습니다.



한 프로그램에 폼을 여러개 만드는 경우 프로잭트 옵션부분을 보면

여러개의 폼을 동적으로 생성시킬 것인가 아니면 자동으로 생성시킬 것인가를

선택하는 부분이 있는데

예를 들어 폼이 달랑 두개밖에 없는 프로그램의 경우 두번째 폼(Form2)의 사용빈도가

높다는 가정하에서 Form2 가 불릴때마다 메모리를 할당받고 폼을 생성한다면

속도도 느리고 많은 점에서 비 합리 적이리라 생각 됩니다.

제가 맞게 이해 하고 있는지 궁금하고,

Form1에서 Uses절에 Unit2(Form2)를 쓰고나면 Form2를 바로 쓸수 있는 겁니까?

책을 보니 Application.Create(Form2 : TForm2); 이렇게 쓰라고 하고

저는 지금 먼저 var Form2 : TForm2 라고 한 다음에

Form2 := TForm2.Create(nil)

Form2.Visible := true;

라고 사용하고 있는데 2가지의 문제가 있는것 같습니다.

자동으로 이미 생성시킨 폼인데 둘다 Create()를 써야 한다는 겁니다.

자동으로 이미 생성된 폼인데도 Create()가 필요한건가요?

아니면 잘못 사용하고 있는건가요?



그리고 Form1에서 버튼과 연결 시켜 놓으면 계속해서 같은 폼들이

여러개 생성 됩니다.

폼을 하나만 생성 시키려면 어떻게 해야 하나요?



정리를 하면......

폼을 동적으로 생성시키지 않고 자동으로 생성하게 한다음에

Form1(MainForm)에서 버튼을 누르면 Form2가 하나만 생성되게 하고싶습니다.

고수님들의 조언 바랍니다.

1  COMMENTS
  • Profile
    권경부 1999.10.23 05:00
    최종오님..

    1. 자동으로 만든 폼을 Create해야 하나...?

    - Create 하지 않으셔도 됩니다.

    2. 같은 폼이 계속 뜬다...?

    -Create시켰는데 Free하는 곳이 없어서 그러거든요...

    3. 결과적으로 폼 하나만 띄우는 방법은...?

    -Form1에서 Form2를 부를때(즉,버튼 클릭 이벤트할때..)

    Form2.show; 나 Form2.showmodal;

    를(을) 해주시면 됩니다.

    그러면 Form1에 있는 버튼을 계속 눌러도 하나의 폼만 뜨게 되죠..



    많은 도움이 되었으면 좋겠네요...



    최종오 wrote:

    > 질문의 내용은 이렇습니다.

    >

    > 한 프로그램에 폼을 여러개 만드는 경우 프로잭트 옵션부분을 보면

    > 여러개의 폼을 동적으로 생성시킬 것인가 아니면 자동으로 생성시킬 것인가를

    > 선택하는 부분이 있는데

    > 예를 들어 폼이 달랑 두개밖에 없는 프로그램의 경우 두번째 폼(Form2)의 사용빈도가

    > 높다는 가정하에서 Form2 가 불릴때마다 메모리를 할당받고 폼을 생성한다면

    > 속도도 느리고 많은 점에서 비 합리 적이리라 생각 됩니다.

    > 제가 맞게 이해 하고 있는지 궁금하고,

    > Form1에서 Uses절에 Unit2(Form2)를 쓰고나면 Form2를 바로 쓸수 있는 겁니까?

    > 책을 보니 Application.Create(Form2 : TForm2); 이렇게 쓰라고 하고

    > 저는 지금 먼저 var Form2 : TForm2 라고 한 다음에

    > Form2 := TForm2.Create(nil)

    > Form2.Visible := true;

    > 라고 사용하고 있는데 2가지의 문제가 있는것 같습니다.

    > 자동으로 이미 생성시킨 폼인데 둘다 Create()를 써야 한다는 겁니다.

    > 자동으로 이미 생성된 폼인데도 Create()가 필요한건가요?

    > 아니면 잘못 사용하고 있는건가요?

    >

    > 그리고 Form1에서 버튼과 연결 시켜 놓으면 계속해서 같은 폼들이

    > 여러개 생성 됩니다.

    > 폼을 하나만 생성 시키려면 어떻게 해야 하나요?

    >

    > 정리를 하면......

    > 폼을 동적으로 생성시키지 않고 자동으로 생성하게 한다음에

    > Form1(MainForm)에서 버튼을 누르면 Form2가 하나만 생성되게 하고싶습니다.

    > 고수님들의 조언 바랍니다.

    • memogi
    • 1999.10.24 03:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박지훈.임프
      1999.10.24 19:00
      memogi wrote: > 안녕하세요 > Memo컴퍼넌트 안에있는 내용을 인쇄할려고하는데...??? > 어떻게해야할지...
    • 오승섭
      1999.10.25 18:46
      안녕하세요 .... 먼저 SQL*PLUS에서 SCOTT/TIGER@balbs로 접속을 해보십시요.... 만약 접속이 않된다면...
    • 박현수
    • 1999.10.23 21:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이상호
      1999.11.02 07:24
      Windows 95부터 사용되는 Win32 API에서 포트를 다루기 위해서 권장되는 방법은 CreateFile이란 API를 사...
    • 김금남
    • 1999.10.23 21:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이주흥
      1999.10.24 02:30
      김금남 wrote: > 자재관리 프로그램입니다. > 출고번호에 딸린 출고물품들이 여러건 되는데, > 양식지에...
    • 유도삼
      1999.10.25 22:46
      이주흥 wrote: > 김금남 wrote: > > 자재관리 프로그램입니다. > > 출고번호에 딸린 출고물품들이 여러...
    • 초보
    • 1999.10.23 20:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.10.24 04:51
      안녕하세요.. 어떤 용도로 일본어를 써야되는지는 알수가 없지만 한글윈도우에는 자체적으로 일본어를 ...
    • 최종오
    • 1999.10.23 18:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 권경부
      1999.10.23 20:38
      최종오 wrote: > 인터넷에서 엑셀 파일을 다운로드 받아서 > 프로그램에 데이터를 읽어 들여야 하는데요....
    • 열심이
    • 1999.10.23 06:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유도삼
      1999.10.24 09:10
      열심이 wrote: > 퀵리포트에서 qrgroup으로 그룹을 지정한 후 footband를 qrband로 지정하였습니다. footb...
    • 최종오
    • 1999.10.23 04:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 권경부
      1999.10.23 21:28
      최종오님... 한델 강의실에 있는 안치봉님의 다국적언어지원 강의를 참고해보세요... 행운이 있길 빕니...
    • 최종오
    • 1999.10.23 04:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 권경부
      1999.10.23 05:00
      최종오님.. 1. 자동으로 만든 폼을 Create해야 하나...? - Create 하지 않으셔도 됩니다. 2. 같은 폼...
    • 박지훈.임프
      1999.10.24 19:09
      산들바람 wrote: > 아래처럼 하믄여 마우스가 라벨에 가믄 글짜색이 변하거든여 > 근데요 그 라벨을 판넬...
    • 송정환
    • 1999.10.23 03:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.10.23 03:38
      송정환 wrote: > TQuery컴포넌트를 이용해서 커리해온 데이타를 DB에디터을 이용해서 쓰는과 동시에 데이...
    • 델초보
    • 1999.10.23 03:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 권경부
      1999.10.23 03:16
      이렇게 해보세요.... procedure TForm1.Button2Click(Sender: TObject);//최소화된 폼을 활성화 시키는 ...
    • 조형석
    • 1999.10.23 02:39
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.10.23 03:33
      조형석 wrote: > DB에서 field를 추가하면 Edit 박스와 라벨 을 다른 폼에 생성 하려구 합니다. > > 만...
    • 권경부
      1999.10.23 02:51
      조형석님.. 이렇게 해보세요... procedure TForm1.FormCreate(Sender: TObject); var MyLabel : TLabe...
    • 얼라
    • 1999.10.23 01:48
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.10.23 03:29
      얼라 wrote: > 음... 마우스가 폰트위로 가게 되면 색을 바꾸는 소스에서염... > label이 Form위에 있으...
    • 권경부
      1999.10.23 02:35
      이렇게 해보세요....(패널위에서 입니다.)... (현재 폼 위에 레이블이 하나 있고요.. 글구 패널위에 또 레...
    • 화랑
    • 1999.10.23 00:30
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박지훈.임프
      1999.10.24 19:15
      화랑 wrote: > 안녕하세요.. > > 누가 아는 사람없어요.. > > 저는 ASP용 Active Server Component...
    • 화랑
      1999.10.25 02:55
      답변 정말 감사합니다. 그럼 델파이에서 유니코드와 String사이에는 어떻게 변환을 하면 되는 지요.. ...
    • 델초보
    • 1999.10.22 23:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.10.23 00:19
      델초보 wrote: > SendMessage(CboZip.Handle,WM_KEYDOWN,VK_F4,0); > 문을 써서 자동으로 디비콤보 박스...
    • 김경율
    • 1999.10.22 22:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.10.23 00:26
      김경율 wrote: > edit keydown 이벤트에서 버튼이라든지 그밖으 컴포너트의 event를 동적으로 실행할려면 ...