|
폼은 기본적으로 Visible 속성이 false로 되어있는데, 이것은 아직 활성화 되지 않음을 뜻하는 것입니다. ShowModal을 하게 되면, Visible 을 true로 바꿔주어 보이게 만드는데, 아래의 에러는 이미 Visible이 True기 때문에 다시 바꿀 수 없음을 보이는 말입니다.
제가 6.0이 없어서 잘은 모르겠지만, 아마도 동적 생성시에 Visible 을 True로 바꾸어 주는 부분이 있는것 같습니다.
TfrmInit의 Visible 속성을 확인해 보시고, false 로 설정해 주시거나, new TfrmInit 아랫줄에, frmInit->Visible = false; 을 추가해 주시면 될것 같습니다.
김은경 님이 쓰신 글 :
: 안녕하세요~ 항상 많은 도움을 받고 있는 초보 빌더 개발자 입니다.
:
: 프로그램을 짜는데 다음과 같은 에러가 발생하더라구요..
:
: --Project mdiapp.exe raised exception class ElnbalidOperation with message
: --'Cannot make a visible window modal'. Process stopped. Use Step or Run to continue.
:
: 5.0에서 쓰던 코드를 그대로 6.0에서도 쓴건데, 5.0에서는 아무런 문제도 없었거든요.
:
: 제가 6.0으로 옮기면서 뭘 빠뜨렸는지...
:
: 고수님들의 답변을 기다리겠습니다. (__)(--)(__)
:
: void __fastcall TMainForm::FormCreate(TObject *Sender)
: {///
: //ini 파일이 있는지 검색한다.
: AnsiString TPath;
: TPath = GetCurrentDir();
: if(!FileExists(TPath+"\\Manager.ini"))
: {
: frmInit = new TfrmInit(Application);
: //frmInit->CurSetting();
: if(frmInit->ShowModal() == mrCancel) => 에러나는 부분!!
: {
: frmInit->Close();
: Application->Terminate();
: return;
: }
: frmInit->Close();
:
: }
|