已知某幾個類別的名稱字串,如何分別轉成其類別物件 |
尚未結案
|
iamjsn
初階會員 ![]() ![]() 發表:78 回覆:95 積分:44 註冊:2002-08-16 發送簡訊給我 |
|
change.jian
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
我都是這樣做的: 1.先把會用到的form註冊,用RegisterClasses([TFrameA]) 2.當要建立時,以FindClass找出該類別,轉型成TForm,然後呼叫Application來建立Form,如下:
function TfrmMainForm.ExecuteProcess(FormName: string): TForm; var Form : TForm; begin Form := TFormClass(FindClass(ID)).Create(Application); Result:=Form; end; |
iamjsn
初階會員 ![]() ![]() 發表:78 回覆:95 積分:44 註冊:2002-08-16 發送簡訊給我 |
其實我問這個問題主要是目前想開發一個專案,專案中有一個主form,裏面有一個執行功能程式的選單,點了選單其實就是去create TFrameViewImage或TFrameEditText。而重點是說如果交給使用者時,只開發了TFrameViewImage和TFrameEditText兩隻功能程式。但是希望未來開發TFrameFTP時(TFrameViewImage、TFrameEditText可能會做成dll或dpl的形式),能夠只交給user FrameFTP.DLL或FrameFTP.dpl和新的選單檔。而不用在去主程式裏新增開啟TFrameFTP的程式碼,這樣主程式就不用重新compiler再送給user了。總之能省則省。反正就是希望新的dll或dpl能直接掛在主程式上,而且也不用修改主程式啦。目前是希望能做成這樣。可不可行還在研究中,還請大家幫忙,謝謝。
|
change.jian
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
iamjsn
初階會員 ![]() ![]() 發表:78 回覆:95 積分:44 註冊:2002-08-16 發送簡訊給我 |
|
change.jian
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
iamjsn
初階會員 ![]() ![]() 發表:78 回覆:95 積分:44 註冊:2002-08-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |