上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
ericklin
註冊時間: 2007-11-14 文章: 107 來自: 台中市
第 1 樓
|
發表於: 星期四 二月 10, 2011 2:54 pm 文章主題: on shutdown QUIT 無法關機(已解決) |
|
|
如題
在主程式加了 on shutdown QUIT
(目地是 按了 _SCREEN.CLOSE 可以結束程式)
但卻影響電腦登出及關機 動做。
不先把 VFP程式結束 直接登出,需登出二次才會成功登出。
第一次登出 結束了VFP程式 --中斷了登出動做
若主程式不加 on shutdown 就不會有這情況
但會快速出現 "無法結束VFP " 的字眼 後登出(關機)
是否有網大 能幫忙 排除 電腦登出時 不出現 "無法結束 vfp" ???
ericklin 在 星期三 二月 16, 2011 3:37 pm 作了第 1 次修改 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期四 二月 10, 2011 4:21 pm 文章主題: |
|
|
請搜尋 "無法結束vfp" _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
ericklin
註冊時間: 2007-11-14 文章: 107 來自: 台中市
第 3 樓
|
發表於: 星期四 二月 10, 2011 4:55 pm 文章主題: |
|
|
syntech 兄 感謝回覆
站內搜尋的方法都試過了 ,可以都可順利 結束程式 也不會出現 "無法結束vfp"
但是我的問題依然存在 "需登出二次才會成功"
你那裡能否幫忙測看看 不結束程式 直接電腦 登出,是否能一次就成功?。 謝謝了 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期四 二月 10, 2011 5:51 pm 文章主題: |
|
|
不會,一次就成功.
因為不是 "on shutdown QUIT "
而是 "on shutdown function_QUIT "
然後用搜尋到的方法處理 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
ericklin
註冊時間: 2007-11-14 文章: 107 來自: 台中市
第 5 樓
|
發表於: 星期四 二月 10, 2011 6:00 pm 文章主題: |
|
|
我貼上我的方式 請幫我check一下
在 main form 內的activate method 加了
set procedure to user_proce.prg additive
on shutdown exitapi()
read events
=================在另一個user_proce.prg
function exitapi
Local C
For C = 1 to _Screen.FormCount
If type("_Screen.ActiveForm") = "O"
_Screen.ActiveForm.Release()
Endif
Endfor
Clear events
Release all
quit
endfunc |
|
回頂端 |
|
|
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 6 樓
|
發表於: 星期五 二月 11, 2011 12:05 am 文章主題: |
|
|
?
假設如果還有第二層的FORM開著 又設定了WINDOWTYPE=1
這樣點結束關的掉嗎?
這不就如同直接去點X關閉一樣 關不掉吧
建議是不是要修改一下去檢查是否還有其他FORM開啟
或者換個方式去檢查_SCREEN是不是ONFOCUS |
|
回頂端 |
|
|
ericklin
註冊時間: 2007-11-14 文章: 107 來自: 台中市
第 7 樓
|
發表於: 星期五 二月 11, 2011 2:59 am 文章主題: |
|
|
謝謝 syntech兄 指點 相信您的確認 我又用另一種方法使用,結果成功了
問題分享:
原先 依 syntech兄的方式 在 main.scx 主程式上設定 on shutdown exitapi() 及read events
怎麼試都不行。原本懷疑 方法不對 但 syntech兄 說他可以。
我就換另一種方式,另建 主程式 main.prg 由main.prg 去call main.scx
on shutdown exitapi() 及read events 都放在 main.prg 內
結果--我出運了--成功一次登出。 |
|
回頂端 |
|
|
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 8 樓
|
發表於: 星期五 二月 11, 2011 7:26 am 文章主題: |
|
|
以PRG當主程式是本來就要的吧?! |
|
回頂端 |
|
|
pilipala
註冊時間: 2009-05-13 文章: 75
第 9 樓
|
|
回頂端 |
|
|
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 10 樓
|
發表於: 星期五 二月 11, 2011 9:08 am 文章主題: |
|
|
FOR lnForm = _screen.FormCount TO 1 STEP -1
_screen.Forms(m.lnForm).Release()
NEXT
這方法不錯 (筆記筆記 |
|
回頂端 |
|
|
CCB2000
註冊時間: 2009-03-25 文章: 95
第 11 樓
|
發表於: 星期三 二月 16, 2011 9:24 am 文章主題: |
|
|
試試:
function exitapi
HIDE WINDOW ALL
CLEAR events
ON shutdown
QUIT
endfunc _________________ VFP C++編譯軟件 (VFP C++ Compiler): http://www.baiyujia.com/vfpcompiler |
|
回頂端 |
|
|
whh
註冊時間: 2010-04-16 文章: 166
第 12 樓
|
發表於: 星期二 五月 14, 2013 11:15 am 文章主題: |
|
|
我可以請教一下嗎?
我參考了上面的作法照寫一個
Project Manager
|
|__ Code (分頁)
|
|__ Programs
|
|__ my
my.prg
內容
SET PROC TO MyFn ADDI
SET PROC TO Myexitapi ADDI && 參考上面教學
_VFP.Visible = .T.
_SCREEN.WindowState = 0
_SCREEN.WindowType = 1
_screen.Visible=.F.
SET SYSMENU OFF
DO FORM MyWin_test
READ EVENTS
ON SHUTDOWN exitapi() && 參考上面教學
可是不管是[登出、重開機]都還是會跑,終止程序 xxxxx,不會無聲無息的關掉
請問是什麼問題 ><? |
|
回頂端 |
|
|
whh
註冊時間: 2010-04-16 文章: 166
第 13 樓
|
發表於: 星期二 五月 14, 2013 11:21 am 文章主題: |
|
|
我知道了 0.0
ON SHUTDOWN exitapi()
要先放到
DO FORM MyWin_test 上面
讓程式寫載入
這樣才知道遇到,關機時會繞去那段 |
|
回頂端 |
|
|
|