[問題] 請較VCL中USEFORM巨集的用意
我的程式做了一個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架構運作?
--
Sent from my Android
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.176.110
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1430199712.A.F88.html
※ 編輯: z1976 (125.227.176.110), 04/28/2015 13:58:56
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章