求救 String變數會變 NULL |
缺席
|
superforsin
一般會員 發表:6 回覆:8 積分:7 註冊:2015-05-14 發送簡訊給我 |
我建立兩個MDIForm 、ChildForm,類似使用者登入的 "母子表單"
定義了一個全域 String UserName 的類別 ,去承接使用者名稱,供以後可使用 但是使用者登入完後(ChildForm關閉),UserName 變數會變 NULL 程式碼: if (帳號密碼正確) { UserName = ADOQuery->FieldByName("UserName")->AsString; //全域變數承接SQL使用者名稱,確定有接到資料 MDIForm->Caption = UserName; //這一行是我用來確定有沒有承接到資料,到這都OK ChildForm->Close(); //關閉子表單 return; } else { MessageBox(Handle,"登入錯誤","Error",MB_ICONSTOP); } 另外我在MDIForm 表單中建立一個按鈕跟Label ,按下按鈕後顯示 使用者名稱 void __fastcall MDIForm::ButtonClick(TObject *Sender) { Label->Caption = UserName; //按下按鈕後,Lable卻變空白,原Label->Caption ="11" } 我用Debug查看在ChildForm關閉後,String UserName就會變NULL 找了很久,不曉得原因出在哪邊,求高手幫忙 |
superforsin
一般會員 發表:6 回覆:8 積分:7 註冊:2015-05-14 發送簡訊給我 |
Sorry ! 問題已經解決了
原來是我自己搞錯 全域變數 第一個位置放對 //放在主要 main.h 問題出在 宣告使用變數 要放在 ChildForm.cpp //結果是太天放到ChildForm.h 抱歉!~~ ===================引 用 superforsin 文 章=================== 我建立兩個MDIForm 、ChildForm,類似使用者登入的 "母子表單" 定義了一個全域 String UserName 的類別 ,去承接使用者名稱,供以後可使用 但是使用者登入完後(ChildForm關閉),UserName 變數會變 NULL 程式碼: if (帳號密碼正確) { UserName = ADOQuery->FieldByName("UserName")->AsString; //全域變數承接SQL使用者名稱,確定有接到資料 MDIForm->Caption = UserName; //這一行是我用來確定有沒有承接到資料,到這都OK ChildForm->Close(); //關閉子表單 return; } else { MessageBox(Handle,"登入錯誤","Error",MB_ICONSTOP); } 另外我在MDIForm 表單中建立一個按鈕跟Label ,按下按鈕後顯示 使用者名稱 void __fastcall MDIForm::ButtonClick(TObject *Sender) { Label->Caption = UserName; //按下按鈕後,Lable卻變空白,原Label->Caption ="11" } 我用Debug查看在ChildForm關閉後,String UserName就會變NULL 找了很久,不曉得原因出在哪邊,求高手幫忙 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |