동적으로 생성한 폼의 포인터를 pFormCheckTest 변수에 넣어서 사용했으니
당연히 FormCheckTest 에 들어냈는 내용과는 다를 수밖에 없죠
==============================================
방법 1)
동적생성한 폼을 global변수에 할당하여 체크
FormCheckTest = new TFormCheckTest(this);
방법2)
Application->FindComponent 같은 함수는 없습니다.
대신 Application 처럼 자동생성되는 Global객체 중 Screen이라는 객체가 있습니다.
Screen->FormCount ; // TCustmForm을 상속받아 만들어진 Form의 갯수
Screen->Forms // TCustmForm을 상속받아 만들어진 Form의 포인터 리스트
위 Screen객체가 가지고 있는 Form리스트에 생성된 폼의 포인터가 들어가 있으니
체크해 보시면 됩니다.
ClassName으로 체크하시면 될듯 하네요
그럼..
폼확인 님이 쓰신 글 :
: 제가
:
: TForm1 에서
:
: TFormCheckTest *pFormCheckTest = new TFormCheckTest(this);
:
: pFormCheckTest->Show();
:
: 를 해서 폼을 생성하는데요
:
: TForm1에서 버튼을 누르면
:
: if(FormCheckTest->Showing)
: {
: //
: }
: 이렇게 체크를 해봤는데 안되더라고요. 동적생성한 폼은 FormCheckTest가 아닐수도 있다고 하더라고요.
:
: 그래서
:
: if(Application->FindComponent("FormCheckTest"))
: {
: //
: }
: 이렇게도 해봤는데 창이 열려있는데 안걸리네요
:
: 창이 열려있는지 체크하는 또다른 방법을 알고 계신분 힌트좀 부탁드립니다.
|