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

這是參數還是元件?

尚未結案
mfish
一般會員


發表:1
回覆:2
積分:0
註冊:2005-02-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-08 05:32:13 IP:210.201.xxx.xxx 未訂閱
大大們好: 小弟剛接觸C++一兩個月  最近在朋友那邊取得一份程式 按照程式裡面我把form給做出來 可是在做編譯的時候卻有幾個...不知道是變數還是元件會出現未定義的狀態 這問題我找了好久  一直找不出是變數還是元件 是變數的話又該宣告成什麼型態  若是元件又會是什麼樣的元件 請大大們幫我解答    #include #pragma hdrstop #include “dialog1.h” //-------------------------------------------------------------------- #pragma resource “*.dfm” TOKRightDlg *OKRightDlg; //------------------------------------------------------------ __fastcall TOKRightDlg::TOKRightDlg(TComponent* AOwner):TForm(AOwner) {//建構子 PathOk=false;//選擇旗標設為假 RecPath=””;//清空路徑 } //------------------------------------------------------------------ void __fastcall TOKRightDlg::FormCreate(TObject *Sender) { ScaleBy(Screen->Width,1024); } //-------------------------------------------------------------------- void __fastcall TOKRightDlg::CancelBtnClick(TObject *Sender) { RecPath=””; PathOk=true; Close(); } //-------------------------------------------------------------------- void __fastcall TOKRightDlg::FormClose(TObject *Sender,TCloseAction &Action) { PathOk=true; Application->ProcessMessages(); Application->ProcessMessages(); Action=caFree; } //-------------------------------------------------------------------- void __fastcall TOKRightDlg::DriveComboBoxlChange(TObject *Sender) { DirectoryListBox1->Drive=DriveComboBox1->Drive; } //-------------------------------------------------------------------- void __fastcall TOKRightDlg::BitBtn1Click(TObject *Sender) { RecPath=DirectoryListBox1->Directory; PathOk=true; Close(); } //-------------------------------------------------------------------- 以上是一段另外編輯出來的一個副專案 其中 PathOk=false;//選擇旗標設為假 RecPath=””;//清空路徑 在compile的時候都會一直出現未定義的錯誤訊息 原本以為這是變數 必須要宣告 可是在主要的專案裡面 有一段程式寫著: OKRightDlg=new TOKRightDlg(Application); OKRightDlg->ShowModal(); while (!OKRightDlg->PathOK) Application->ProcessMessages();<----這行 RSPath=OKRightDlg->RecPath ”/”;<----跟這行 看到第三行跟第四行的程式我頭大了 因為在主要專案裡面並沒有看到有宣告PathOk跟RecPath 在這個副專案裡面也沒有宣告 那就我目前所學 看到(!OKRightDlg->PathOK)這一行 我會以為這是在副專案Form裡面的元件 可是有元件可以在程式裡面以PathOk=false;這樣編輯嗎? 光看副專案裡面 還以為PathOk跟RecPath是變數 可是現在我搞不清楚是元件還是變數了 這個問題困擾很久了 一直找不到解答 麻煩大大們幫我看一下 幫我解答一下 謝謝!!
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-08 11:16:27 IP:61.228.xxx.xxx 未訂閱
mfish 你好 PathOk 跟 RecPath 應該是元件的變數,所以你可以試試加入元件的指向如下 OKRightDlg->PathOk=xxxxxxxxxxxxxxx; OKRightDlg->RecPath=xxxxxxxxxxxxxx;
mfish
一般會員


發表:1
回覆:2
積分:0
註冊:2005-02-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-09 03:15:16 IP:210.201.xxx.xxx 未訂閱
引言: mfish 你好 PathOk 跟 RecPath 應該是元件的變數,所以你可以試試加入元件的指向如下 OKRightDlg->PathOk=xxxxxxxxxxxxxxx; OKRightDlg->RecPath=xxxxxxxxxxxxxx;
GeorgeKu您好 首先先感謝您幫我解答 我試過您的方法 可是光是在副專案裡面就會直接出現"Undefined symbol 'PathOk'" 跟"Undefined symbol 'RecPath'"的錯誤訊息 按照大大的方法另外還出現"'PathOk' is not a member of 'OKRightDlg'" 跟"RecPath" is not a member of 'OKRightDlg'"的錯誤訊息 而OKRightDlg是屬於dialog的一種 在本身的屬性參數裡面都找不到這兩種參數 所以我才會往變數跟元件的方向去想 可是據我所知 如果PathOk跟RecPath是元件的話 應該沒有元件可以用這樣的寫法才對--->PathOk=false; 跟--->RecPath=""; 所以我是覺得是變數的可能性比較大 可是如果是變數的話 while (!OKRightDlg->PathOK) Application->ProcessMessages(); RSPath=OKRightDlg->RecPath ”/”; 這兩行又寫成OKRightDlg->PathOk跟OKRightDlg->RecPath "/"; 真的很令人匪夷所思 我有拿回去找我朋友問 可是因為是他很久以前寫的程式 他自己也忘記為什麼會寫成這樣子 還可以compile過 也許是元件的參數沒設定好也許是少了某種元件甚至..... 也許他拿給我的程式並不是當時compile過的完成品 他說也有可能拿到未完成品給我看~"~ 現在我只好自己想辦法了...... 另外有一點我不明白的是 DirectoryListBox1->Drive=DriveComboBox1->Drive;這行程式 在DirectoryListBox1這個元件的參數裡面我也找不到Drive這個參數 可是我另外寫一個小程式把這行程式照抄下去 可以正常執行耶@@ 為什麼會這樣子? 不知道我這樣說 大大們能不能看的懂..... 希望有大大能幫我解答出上面的種種問題 謝謝~
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-10 09:57:19 IP:61.228.xxx.xxx 未訂閱
mfish 你好 這樣看來那2個應該是自訂的公用變數,你可以試試在dialog.h裡面 public: 那裡宣告PathOK跟RecPath變數. bool PathOK; AnsiString RecPath; 發表人 - georgeku 於 2005/03/10 12:53:06 發表人 - georgeku 於 2005/03/10 13:05:06
mfish
一般會員


發表:1
回覆:2
積分:0
註冊:2005-02-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-14 23:44:46 IP:210.201.xxx.xxx 未訂閱
引言: mfish 你好 這樣看來那2個應該是自訂的公用變數,你可以試試在dialog.h裡面 public: 那裡宣告PathOK跟RecPath變數. bool PathOK; AnsiString RecPath; 發表人 - georgeku 於 2005/03/10 12:53:06 發表人 - georgeku 於 2005/03/10 13:05:06
georgeku您好: 我的想法跟大大一樣 後來也是用bool跟AnsiString來宣告這兩個變數 這樣compile起來就沒有錯誤訊息了 只不過在我的主專案裡面要用#include dialog.cpp 而不是用#include dialog.h 感謝大大的熱心指導 謝謝^^
系統時間:2024-05-07 8:00:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!