动态创建窗口还出错,找不出是什么原因》
动态创建窗口还出错,找不出是什么原因》
void __fastcall TForm1::FormCreate(TObject *Sender){ Form9 = new TForm9(Application); //Form9 Form2 = new TForm2(Application); //Form2 bool a = Form2->m_bNotRefreshPic; NeedConfig = true; hasBeenConfig = true;......error:[C++ Error] Unit1.cpp(3310): E2316 'm_bNotRefreshPic' is not a member of 'TForm'这是TForm2类,class TForm2 : public TForm{__published: // IDE-managed Components 。。 bool IfDesigned(); void OnSetConfig(); int m_nShowFirst; bool m_bNotRefreshPic;。。
__published: // IDE-managed Componentsprivate: // User declarationspublic: // User declarations
[解决办法]
__published是BCB自己的扩展关键字,这一段的访问level是public的,这里由IDE自己管理。
C++标准的三个访问level分别是private、public和protected,你自己成员放在__published这里,没有编译IDE就会报错,我在6.0和2010里都试过了。这里不是不可以放自己的东西,只能放符合一定规则的自己定义的属性、事件、和方法。更详细的查看BCB自定义组件编写。
[解决办法]