|
Form을 하나 추가하면 기본적으로 "자동생성" 되게 되어있습니다.
이것은 New 등으로 사용자가 직업 해당 Form을 생성할 필요 없이
프로그램이 시작되면 자동으로 생성을 해두고 나중에 사용자는
Show() 를 함으로 눈으로 볼수 있게 되는 것입니다.
만약 옵션에서 해당 Form을 자동생성하지 않도록 했다면
단지 Show() 만으로는 보이지 않고 New 또는 Application->CreateForm() 등으로
생성을 해준후에 Show()를 해야 보입니다.
님께서 어떻게 코딩했는지 전체 소스를 올리지 않아 모르겠으나
아마도 Form2에 대한 인스턴스가 2개가 생성된게 아닌가 싶습니다.
하나는 자동으로 생성되는 것이고 또 하나는 님께서 임의로 생성한것이고...
그래서 컨트롤은 님께서 생성한 Form에 하고 실제 보이기는 자동으로 생성된 Form이 보이는게 아닌가 싶군요.
전체 코드를 올려보세요.
초보 user 님이 쓰신 글 :
: Form1에서 버튼을 누르면 Form2의 함수를 호출하여 Form2의 check 컴포넌트 설정을 하고 싶습니다.
: Form2에서 함수를 extern해서 form1에서 버튼을 누르면 함수 호출은 잘 되는데 check 제어가 안되네요
:
: 그런데 form2에서 버튼 이벤트 발생시켜 같은 함수를 호출하면 check 제어 잘됩니다.
: 뭐가 문제인지 모르겠네요``
:
: ////////////////////////////////////////////Form1 cpp////////////////////////////////////////////
: void __fastcall TForm1::InitClick(TObject *Sender)
: {
: Form2->AlarmMaskInitProc();
: }
:
: //////////////////////////////////////////Form2 h////////////////////////////////////////////
: public: // User declarations
: __fastcall TForm2(TComponent* Owner);
: void __fastcall AlarmMaskInitProc(void);
:
: };
: ////////////////////////////////////////////Form2 cpp////////////////////////////////////////////
: void __fastcall TForm2::AlarmMaskInit(void)
: {
: Psu1AcMask->Checked=true;
: Psu1MountMask->Checked=true;
: Psu1OverVoltMask->Checked=true;
: Psu1OverCurMask->Checked=true;
: Psu1OverTempMask->Checked=true;
: Psu1DcMask->Checked=true;
: Psu1FanMask->Checked=true;
: Psu1UnderVoltMask->Checked=true;
: Psu1UnderCurMask->Checked=true;
: Psu1UnderTempMask->Checked=true;
: }
: void __fastcall TForm2::AlarmMaskInitProc(void)
: {
: AlarmMaskInit();
: }
|