Abort語句使用問題 |
尚未結案
|
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
|
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
|
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
引言: 你好: 程式沒錯呀, Try .. finally 是址不管任何狀況一定要去完成 finally 內的程式。 而 Try except 則是發生 raise 時才會執行 except 內的程式。 < src="http://sourceprovide.deepen.com.tw/K_Top/bp.gif">我是希望frm1在執行到button1.click事件中的Abort時,停留在frm1不要退出,我並沒有用frm1.close之類的退出語句啊,為什麼它會自己退出呢?奇怪啊! |
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
引言: 您好, 你要在frm1裡,把會錯誤的地方的程式用try-except-end包住才不會讓frm1結束,否則,當frm1.ShowModal時,一出錯,本來就會跳到finally後面的.你可以把你frm1裡的程式碼post上來,也許你可以比較快找到答案對喲!可是菜單中所有其他frm都是這樣產生的,用的是一模一樣的程式碼,可其他都可以不把Abort當成異常跳出來啊:button.click 如下: procedure TForm28.BitBtn2Click(Sender: TObject); begin ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from V操作員 where 操作員=''' oper '''') ; ADOQuery1.Open; if password<>Edit4.Text then begin MessageDlg('您的舊密碼輸入不正確,請重新輸入!',mtInformation,[mbOK],0); Edit4.SetFocus; Abort; end; end; |
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
即使沒有走到Abort,既密碼已更新成功,它還是會在更新密碼後一下子跳出來,奇怪!請大大幫我看看啊
procedure TForm28.BitBtn2Click(Sender: TObject);
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from V操作員 where 操作員=''' oper '''') ;
ADOQuery1.Open;
if password<>Edit4.Text then begin
MessageDlg('您的舊密碼輸入不正確,請重新輸入!',mtInformation,[mbOK],0);
Edit4.SetFocus;
Abort;
end;
if Edit1.Text<>Edit2.Text then begin
MessageDlg('您的新密碼兩次輸入不一致,請重新輸入!',mtInformation,[mbOK],0);
Edit1.SetFocus;
Abort;
end;
ADOQuery1.Edit;
ADOQuery1.FieldValues['口令']:=Edit1.Text;
ADOQuery1.Post;
MessageDlg('您的密碼已更改成功!',mtInformation,[mbOK],0);
End;
|
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
|
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
引言: 我抓到那個小鬼了!是BitBtn的modalResult在作怪。它可以自動幫我們關閉modal的表單。設其為mrNone就OK了。很不好意思,把大家引錯方向了。 一個疑惑:這個>>< face="Verdana, Arial, Helvetica"> 如果bitbtn僅設ModuleResult,但沒有指定他的OnClick程序的話,ModuleResult是不會被觸發的,換言之,Form就不會被設ModuleResult.(我不知道您的bitbtn有沒有寫OnClick程序) |
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
引言:引言: 我抓到那個小鬼了!是BitBtn的modalResult在作怪。它可以自動幫我們關閉modal的表單。設其為mrNone就OK了。很不好意思,把大家引錯方向了。 一個疑惑:這個>>< face="Verdana, Arial, Helvetica"> 如果bitbtn僅設ModuleResult,但沒有指定他的OnClick程序的話,ModuleResult是不會被觸發的,換言之,Form就不會被設ModuleResult.(我不知道您的bitbtn有沒有寫OnClick程序)呵呵,當然有寫,就是前面post上來的關於修改密碼的程式啊。而且觸發事件只有click. |
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
引言:引言:引言: 我抓到那個小鬼了!是BitBtn的modalResult在作怪。它可以自動幫我們關閉modal的表單。設其為mrNone就OK了。很不好意思,把大家引錯方向了。 一個疑惑:這個>>< face="Verdana, Arial, Helvetica"> 如果bitbtn僅設ModuleResult,但沒有指定他的OnClick程序的話,ModuleResult是不會被觸發的,換言之,Form就不會被設ModuleResult.(我不知道您的bitbtn有沒有寫OnClick程序)呵呵,當然有寫,就是前面post上來的關於修改密碼的程式啊。而且觸發事件只有click. >>< face="Verdana, Arial, Helvetica"> 這樣就要以你的程式來查一查才會知道了,不理,依照onLine help的說明,設定 ModuleResult本來就是用來關掉一個form用(限於用ShowModal)用的.而bitbtn等元件,在你按下click時,他會先檢查該元件有的ModuleResult是否有設值(mrNone不算),若有的話,就會把值設給form的ModuleResult了.我所能找到的就這麼多,其他的我想應該還是要看你的程式碼,也許有可能會找到答案. |
Amanda_Chen
一般會員 發表:25 回覆:82 積分:21 註冊:2003-12-28 發送簡訊給我 |
引言:引言:引言:引言: 我抓到那個小鬼了!是BitBtn的modalResult在作怪。它可以自動幫我們關閉modal的表單。設其為mrNone就OK了。很不好意思,把大家引錯方向了。 一個疑惑:這個>>< face="Verdana, Arial, Helvetica"> 如果bitbtn僅設ModuleResult,但沒有指定他的OnClick程序的話,ModuleResult是不會被觸發的,換言之,Form就不會被設ModuleResult.(我不知道您的bitbtn有沒有寫OnClick程序)呵呵,當然有寫,就是前面post上來的關於修改密碼的程式啊。而且觸發事件只有click. >>< face="Verdana, Arial, Helvetica"> 這樣就要以你的程式來查一查才會知道了,不理,依照onLine help的說明,設定 ModuleResult本來就是用來關掉一個form用(限於用ShowModal)用的.而bitbtn等元件,在你按下click時,他會先檢查該元件有的ModuleResult是否有設值(mrNone不算),若有的話,就會把值設給form的ModuleResult了.我所能找到的就這麼多,其他的我想應該還是要看你的程式碼,也許有可能會找到答案. >>< face="Verdana, Arial, Helvetica"> 呵呵,我得到的結果跟您一樣。謝謝您的勤力。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |