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

關於子表單設定父表單的變數內容的問題?

尚未結案
kagaya
中階會員


發表:74
回覆:175
積分:59
註冊:2002-12-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-24 18:15:40 IP:210.200.xxx.xxx 未訂閱
//父表單h檔
class TDBForm : public TForm
{
__published:
    void __fastcall FormShow(TObject *Sender);
private:
    bool __fastcall CheckField();
public:                
    String not_null_field;
    String not_remake_field;
};    //子表單h檔
class TDBForm4 : public TDBForm
{
__published:        
       void __fastcall FormShow(TObject *Sender);
};    //子表單cpp檔
void __fastcall TDBForm4::FormShow(TObject *Sender)
{
    TDBForm::FormShow(Sender);
    not_null_field="abc";
    not_null_field="def";
}    //父表單cpp檔
void __fastcall TDBForm::FormShow(TObject *Sender)
{
   ....
}
bool __fastcall TDBForm::CheckField()
{                             
    ShowMessage(not_null_field not_remake_field);
}    Show出來的訊息是空的.那兩個變數沒有值
這是為什麼呢?
謝謝    
------
KUSO 無處不在
kagaya
中階會員


發表:74
回覆:175
積分:59
註冊:2002-12-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-24 18:26:56 IP:210.200.xxx.xxx 未訂閱
CheckField()這個動作是在子表單Show出來後按下表單上某個按紐發生的
------
KUSO 無處不在
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-26 16:18:39 IP:203.204.xxx.xxx 未訂閱
引言:
//父表單h檔
class TDBForm : public TForm
{
__published:
    void __fastcall FormShow(TObject *Sender);
private:
    bool __fastcall CheckField();
public:                
    String not_null_field;
    String not_remake_field;
};    //子表單h檔
class TDBForm4 : public TDBForm
{
__published:        
       void __fastcall FormShow(TObject *Sender);
};    //子表單cpp檔
void __fastcall TDBForm4::FormShow(TObject *Sender)
{
    TDBForm::FormShow(Sender);
    DBForm->not_null_field="abc";
    DBForm->not_null_field="def";
 //是這個問題嗎?    }    //父表單cpp檔
void __fastcall TDBForm::FormShow(TObject *Sender)
{
   ....
}
bool __fastcall TDBForm::CheckField()
{                             
    ShowMessage(DBForm->not_null_field DBForm->not_remake_field);
}    Show出來的訊息是空的.那兩個變數沒有值
這是為什麼呢?
謝謝    
發表人 - taishyang 於 2005/02/25 09:03:49
kagaya
中階會員


發表:74
回覆:175
積分:59
註冊:2002-12-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-26 20:46:12 IP:61.229.xxx.xxx 未訂閱
是的 變數定義在父表單 然後在子表單給它值 結果是空的 謝謝
------
KUSO 無處不在
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-27 12:24:02 IP:203.204.xxx.xxx 未訂閱
引言: 是的 變數定義在父表單 然後在子表單給它值 結果是空的 謝謝
或許你是流程問題將 ShowMessage(DBForm->not_null_field DBForm->not_remake_field); 搬到void __fastcall TDBForm4::FormShow(TObject *Sender) 檢查看看
kagaya
中階會員


發表:74
回覆:175
積分:59
註冊:2002-12-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-28 21:40:23 IP:61.217.xxx.xxx 未訂閱
謝謝大大的回答 可是有很多子表單都繼承這個父表單 所以這麼做的話其它表單就繼承不到功能了
------
KUSO 無處不在
kagaya
中階會員


發表:74
回覆:175
積分:59
註冊:2002-12-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-01 12:26:54 IP:210.200.xxx.xxx 未訂閱
定義在這裡就可以了.還是很感謝大大的回覆 __fastcall TDBForm4::TDBForm4(TComponent* Owner) : TDBForm(Owner) { not_null_field="abc"; not_null_field="def"; }
------
KUSO 無處不在
sindywuu
一般會員


發表:1
回覆:10
積分:2
註冊:2004-04-20

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-24 10:37:45 IP:61.30.xxx.xxx 未訂閱
請問用Delphi要怎麼寫(子視窗要在哪兒定引用的參數)
系統時間:2024-05-19 18:17:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!