[问题] 请较VCL中USEFORM宏的用意

楼主: z1976 (z1976)   2015-04-28 13:41:50
我的程式做了一个TLayoutableMainForm class衍生自主视窗 TMainForm
(我们的MainForm上有一些元件阵列,会依据user的选择重新动态排列,变换队形;
但这功能加下去后.cpp的程式码变很长,所以才想衍生一个class专门处理这件事)
class TLayoutableMainForm : public TMainForm
要使用这个TLayoutableMainForm ,在程式进入点的.cpp档上面
USEFORM(TMainForm.cpp, MainForm); // 原本的
要改成
USEFORM(TLayoutableMainForm.cpp, LayoutableMainForm);
主程式里面:
Application->CreateForm(__classic(TLayoutableMainForm), &LayoutableMainFortm);
这样程式就可以跑。不知道个USEFORM在干嘛,GOOGLE一下,似乎只是相当于这样的宣告.
..
exetern TLayoutableMainForm* LayoutableMainForm;
如果我把USEFORM拿掉,自己宣告一个TLayoutableMainForm指标也可以Run
(因为不想要这么长的变量名称)
exetern TLayoutableMainForm* MainForm ;
当然在某一个cpp档需要实际宣告MainForm的实体,然后把MainForm当参数丢给CreateFor
m,这样也可以跑 (目前只有空壳,无法测试其他功能)
只是不晓得USEFORM还有没有其他的意义? 会不会影响VCL架构运作?

Links booklink

Contact Us: admin [ a t ] ucptt.com