線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1644
推到 Plurk!
推到 Facebook!

如何使用WriteComponent儲存內含TList的物件

缺席
shychef
一般會員


發表:5
回覆:10
積分:3
註冊:2004-10-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-02 16:02:51 IP:211.23.xxx.xxx 未訂閱
各位大大: 小人在下我建立一個Class如下: //------------prjdata.h-------------- class TPrj : public TComponent { private: AnsiString FPrj_Name; AnsiString FPrj_Comment; public: TList *pTaskList; __fastcall TPrj(AnsiString); __fastcall TPrj(); __fastcall ~TPrj(); __published: __property AnsiString Prj_Name = {read=FPrj_Name, write=FPrj_Name}; __property AnsiString Prj_Comment = {read=FPrj_Comment , write=FPrj_Comment}; }; 當按下button2後,則用WriteComponent將aPrj物件儲存起來 當按下button3後,則用ReadComponent將物件內容丟到bPrj物件儲存起來 //------------project.cpp-------------- TPrj* aPrj=new TPrj(); void __fastcall TMDIChild::Button2Click(TObject *Sender) { TMemoryStream* buffer= new TMemoryStream(); buffer->WriteComponent(aPrj); buffer->SaveToFile("save.dat"); delete buffer; } TPrj* bPrj; void __fastcall TMDIChild::Button3Click(TObject *Sender) { bPrj = new TPrj(); TMemoryStream* buffer = new TMemoryStream() ; try{ buffer->Position = 0; buffer->LoadFromFile("asd.chr"); buffer->ReadComponent(bPrj); } __finally{ delete buffer,bPrj; } } 程式到目前為止都是正常無誤的,可正常寫入,也可正常讀出。 現在問題來了。 在class TPrj 中有一個TList *pTaskList; pTaskList裏面裝的又是一個類別,內容如下: 很明顯的,當我使用WriteComponent時,是無法將這個TList裏裝的類別的資料也一起儲存。 用DefineProperties有辦法解決嗎? //------------taskdata.h-------------- class TTask : public TComponent { private: AnsiString FTsk_Name; AnsiString FTsk_Type; public: TList *pPouList; __fastcall TTask(AnsiString); __fastcall ~TTask(); __published: __property AnsiString Tsk_Name = {read=FTsk_Name, write=FTsk_Name}; __property AnsiString Tsk_Type = {read=FTsk_Type, write=FTsk_Type}; };
shychef
一般會員


發表:5
回覆:10
積分:3
註冊:2004-10-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-02 16:46:23 IP:211.23.xxx.xxx 未訂閱
報歉,post錯版了。 有興趣解答的前輩,可到 VCL 元件使用或設計討論區(C Builder)討論
shychef
一般會員


發表:5
回覆:10
積分:3
註冊:2004-10-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-03 13:13:58 IP:211.23.xxx.xxx 未訂閱
為避免資源浪費,可不可以麻煩版主將這篇文章刪除 因為我post錯版了。已改post在 VCL 元件使用或設計討論區(C Builder)討論
系統時間:2024-04-26 17:00:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!