Q&A

  • 동적폼 생성은 어떻게..?
안녕하세요 전 델파이 왕 초보자입니다.

폼을 실행시에 동적으로 생성하고 싶은데.. 그러니까 기존에 만든 폼의 인스턴스(?맞는 말인지 모르겠네) 를 만들고 싶은데 잘 안되는군요...

var

Msgform : Tfrmreply;

begin

Msgform := Tfrmreply.Create(Self);



이런식으로 코딩을 하니 생성은 되는거 같은데 폼을 닫을려니까(close메소드사용) 자꾸 에러('access violation at address 0044c5c9 in module

'실행파일이름.exe' read of address ffffffff')가 나는군요.

그리고 폼의 create이벤트에 폼을 투명하게 해주는 코드

frmreply.Brush.Style := bsClear;

frmreply.BorderStyle := bsNone;

를 넣어 주었는데 이역시 에러가 나는군요

혹시 아시는 분이 계시다면 간단한 예제를 덧붙여서 갈켜 주시면 정말 감사하겠습니다.. 그럼 이만..

2  COMMENTS
  • Profile
    글쎄요 1999.06.28 22:16
    음.. 동적폼을 생성하고 싶다구요.

    먼저 프로젝트의 옵션(델파이 메뉴)을 선택하셔서

    만들어 논 폼을 Available Form쪽으로 옮기셔요.

    그리고 코딩하는 곳에서 다음과 같이 하셔요.



    try

    Form2 := TForm2.Create( Self );

    Form2.ShowModal;

    finally

    Form2.Free;

    Form2 := nil;

    end;

    이렇게 하시면 폼이 모달폼(이 폼이 죽지않는 한 다른 폼으로 못감)이

    생성되구요.

    다음과 같이하면 그냥 일반적인 폼이 생성됩니다.

    Form2 := TForm2.Create( Self );

    Form2.Show;

    해제시킬 때는 폼의 close이벤트에 이렇게

    Form2.Free;

    Form2 := nil;

    이것은 일반적인 폼의 동적생성에 관한 것이었습니다.

    그럼...



  • Profile
    임희철 1999.06.29 01:34
    ^^