全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:705
推到 Plurk!
推到 Facebook!

物件的初始問題

答題得分者是:ENIX007
dhliu
一般會員


發表:18
回覆:24
積分:8
註冊:2003-03-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-10 04:23:57 IP:211.76.xxx.xxx 未訂閱
請問各位 我在 http://angelibrary.tripod.com/computer/c/9/chap09.htm 這個網頁看到的程式, 將其內容 copy 到 BCB 的 Form1 裡面, 但是在 compile 的時候, 在 Form->create 裡建立的物件 CLine *m_pObj 的生命在 create 副程式結束後即消失了, 而 Form->close 裡設定 delete m_pObj 則會有 [Undefined symbol 'm_pObj'] 的錯誤訊息, 請問各位, 要在哪裡初始化 CLine 才能讓這個物建在何處都可以存取呢?
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-10 08:47:46 IP:210.243.xxx.xxx 未訂閱
dhliu您好 我沒有仔細去看連結網頁內容(因為太長了) 不過您的問題應該是因為>>
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
dhliu
一般會員


發表:18
回覆:24
積分:8
註冊:2003-03-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-10 12:38:23 IP:211.76.xxx.xxx 未訂閱
唔... 我試了一下, 無論是把 CLine (CLine 是自訂的 class) 的宣告擺在 Form 的 class 裡 (加一個 CLine m_pObj), 或者是在主程式中 (寫在 #define 之下一行 CLine m_pObj), 都沒辦法編譯
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-10 14:43:10 IP:210.243.xxx.xxx 未訂閱
dhliu您好 假設您的class CLine定義在xxx.h檔中,在Unit1.h中 #ifndef Unit1H #define Unit1H 下方加入 #include "xxx.h"
class TForm1 : public TForm
{
__published:        // IDE-managed Components
    void __fastcall FormCreate(TObject *Sender);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
private:        // User declarations
  CLine *m_pObj;  //或public區都可
public:                // User declarations
    __fastcall TForm1(TComponent* Owner);
};
Unit1.cpp
 void __fastcall TForm1::FormCreate(TObject *Sender)
{
    m_pObj = new CLine;   
}
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
    delete m_pObj;
}
這樣應該是沒問題的,請試試看 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
dhliu
一般會員


發表:18
回覆:24
積分:8
註冊:2003-03-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-11 04:19:40 IP:211.76.xxx.xxx 未訂閱
嗯... 似乎找到問題了 問題應該還是出現在宣告的部分 >
系統時間:2024-05-18 14:48:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!