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

求救 String變數會變 NULL

缺席
superforsin
一般會員


發表:6
回覆:8
積分:7
註冊:2015-05-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-05-18 20:26:27 IP:220.132.xxx.xxx 訂閱
我建立兩個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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-05-19 05:58:08 IP:220.132.xxx.xxx 訂閱
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

找了很久,不曉得原因出在哪邊,求高手幫忙

系統時間:2024-04-19 8:51:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!