使用者登入 |
尚未結案
|
avalokita
一般會員 ![]() ![]() 發表:29 回覆:35 積分:12 註冊:2003-09-02 發送簡訊給我 |
|
Chance36
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
|
T.J.B
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
guohua_fu
一般會員 ![]() ![]() 發表:44 回覆:50 積分:18 註冊:2003-06-19 發送簡訊給我 |
(1)在DataForm裡面加入; procedure TDataForm.FormCreate(Sender: TObject);
begin
loginForm.ShowModal ;
end; (2)或者在DataForm裡面加入:
procedure TForm1.FormShow(Sender: TObject);
begin
loginForm.ShowModal ;
end; ======================
^_^ 相信自己,你是最棒的!
jacky
====================== 發表人 - guohua_fu 於 2004/07/12 17:08:48
------
jacky |
avalokita
一般會員 ![]() ![]() 發表:29 回覆:35 積分:12 註冊:2003-09-02 發送簡訊給我 |
引言: 我的作法你參考看看 你可以在Mainform的onactive事件去呼叫loginform loginform設一個全域變數 紀錄login成功與否(在loginform做登錄檢查) 然後傳回給mainform 如果回傳是失敗的 則 application.Terminate 如果回傳成功 則 loginform就free掉謝謝T.J.B您的解答: 但我發現若把呼叫loginform的code寫在onactive的事件時, 則畫面會出現loginForm在Mainform上的情形。 意即使用者即使登入不了,還是可看到MainForm的內容, 只是無法對MainForm進行操作而已。 而且在Onactive的事件中,似乎不能改變Mainform的Visible的性質。 |
avalokita
一般會員 ![]() ![]() 發表:29 回覆:35 積分:12 註冊:2003-09-02 發送簡訊給我 |
引言: avalokita 你好 你可以參考以下連結 http://delphi.ktop.com.tw/topic.php?topic_id=49716 注意程式碼是寫在專案檔(*.dpr)中! 發表人 - chance36 於 2004/07/12 01:36:16謝謝chance36您的指教! 我現在把呼叫loginForm的Code寫在OnShow中, 是解決了方才的問題。 只是還想請教您,有關表單之間的參數傳遞問題。 若在loginForm的確定鈕Button按下後, 若登入成功,要讓MainForm出現的程式碼是這樣寫的嗎?? procedure TLogInForm.Button1Click(Sender: TObject); begin LogInForm.Close; mainform.Show; end; 還有在MainForm的OnShow部份.. procedure TMainForm.FormShow(Sender: TObject); begin loginform.ShowModal ; loginform.Free; end; 測試是可以, 但不曉得記憶體的配置, 有沒有問題? |
Chance36
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
avalokita 你好
procedure TLogInForm.Button1Click(Sender: TObject); begin ModalResult := mrOK ; // 代表登入成功 //ModalResult := mrCancel ; // 代表登入失敗 Close; end; 還有在MainForm的OnShow部份.. procedure TMainForm.FormShow(Sender: TObject); begin If loginform.ShowModal= mrOK Then Begin loginform.Free; End Else Begin // loginform.Free; // 反正要結束,Application會幫忙釋放 Close; // 準備結束程式 End; end;基本上是沒什麼問題,只是你寫在FormShow的事件中,假如你有很多自動立的其他Form,則必須等所有的Form皆Create後,才會執行到MainFor.OnShow事件,所以這時Login不通過,要關閉程式時,剛剛好不容易建立的一些Form,還沒用到就要釋放了,似乎有點浪費。 之前那個連結中,即是將LoginFOrm在還沒建立MainForm及其他自動建立的Form之前即先行建立並讓使用者登入,未通過則直接結束程式,一點也不浪費建立及釋放的動作,若登入成功後才會建立主Form及其他Form。 發表人 - chance36 於 2004/07/13 00:24:32 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |