[問題] 請較VCL中USEFORM巨集的用意

看板C_and_CPP (C/C++)作者 (z1976)時間11年前 (2015/04/28 13:41), 11年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我的程式做了一個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
文章代碼(AID): #1LFnsW-8 (C_and_CPP)
文章代碼(AID): #1LFnsW-8 (C_and_CPP)