VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

求救有關VFP6 ON ERROR的疑問

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 1 樓

發表發表於: 星期四 七月 23, 2009 2:37 pm    文章主題: 求救有關VFP6 ON ERROR的疑問 引言回覆

敝人所寫的程式常常會需要呼叫WORD來編輯文件
有個很難控制的部分就是"行數控制"
最簡單的方式就是一次長出超過所需的行數
等文件產生完成再把多出的行數DELETE
但是速度會很慢

所以想用ON ERROR來攔截錯誤碼1426
當發生這錯誤碼時自動在WORD新增一行空白行
但是卻遇到一個奇怪狀況
就是當攔截到之後,所攔截到的"程式碼"卻不是真正執行的那一行
而是上一層的某一行,兩段程式天差地遠
請問到底是為什麼呢
我試過從最外層到FORM裡面的ERROR
都是得到一樣的結果
請問是因為呼叫OLE的關係嗎

ON ERROR這工具才沒玩多久
還請各方大德敬請賜教
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
ckp6250



註冊時間: 2004-07-30
文章: 1644


第 2 樓

發表發表於: 星期四 七月 23, 2009 4:57 pm    文章主題: 引言回覆

請把您 on error 及錯誤處理程序貼出來看看
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 3 樓

發表發表於: 星期四 七月 23, 2009 5:56 pm    文章主題: 引言回覆

HELP :
============
If the command specifies a procedure to execute when an error occurs, you can use ERROR( ), MESSAGE( ), LINENO( ), and PROGRAM( ) to pass the error number, the error message, the program line number, and the program name to the procedure. This information can be used to correct the cause of the error.

============

你是說,當發生錯誤時, LINENO() 不是在你發生錯誤的那行?

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 4 樓

發表發表於: 星期四 七月 23, 2009 6:01 pm    文章主題: 引言回覆

譬如說在某PRG裡面

執行程式段A
執行程式段B
DO FORM aa

然後在FORM aa裡面處理OLE WORD的部分
這時發生錯誤碼1429 行號不存在(就是WORD裡面ENTER空白行不足)
而MESSAGE()和MESSAGE(1)裡面所呈現的訊息卻不是FORM裡面所執行OLE的程式行
而是出現外部PRG的程式段B

本來我的構想是
如果ERROR能夠正確攔截到錯誤訊息
跳到ERRORHANDLE裡面加入所缺的空白行
再由MESSAGE(1)所攔截到的程式碼重新執行一次才RETURN回去
這樣就等於把問題處理掉了,繼續下一行
但是現在就是卡在這個MESSAGE(1)的問題上
我也找過AERROR(),這攔不到程式碼只有錯誤代碼
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
CCB2000



註冊時間: 2009-03-25
文章: 95


第 5 樓

發表發表於: 星期五 七月 24, 2009 7:49 am    文章主題: 引言回覆

VFP7/8/9: ASTACKINFO()
_________________
VFP C++編譯軟件 (VFP C++ Compiler): http://www.baiyujia.com/vfpcompiler
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 6 樓

發表發表於: 星期五 七月 24, 2009 11:33 am    文章主題: 引言回覆

@@"
我的開發環境是VFP6
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
ckp6250



註冊時間: 2004-07-30
文章: 1644


第 7 樓

發表發表於: 星期一 七月 27, 2009 5:26 pm    文章主題: 引言回覆

很久沒有用vfp6了,它有 try 的指令嗎?

TRY
[ tryCommands ]
[ CATCH [ TO VarName ] [ WHEN lExpression ]
[ catchCommands ] ]
[ THROW [ eUserExpression ] ]
[ EXIT ]
[ FINALLY
[ finallyCommands ] ]
ENDTRY
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 8 樓

發表發表於: 星期一 七月 27, 2009 6:40 pm    文章主題: 引言回覆

沒.


不過ERROR() 的確會出現"幾N(某)次"的錯誤.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
ckp6250



註冊時間: 2004-07-30
文章: 1644


第 9 樓

發表發表於: 星期二 七月 28, 2009 10:30 am    文章主題: 引言回覆

沒錯, 小弟也覺得 ASTACKINFO() 似乎必需和ERROR() 交互搭配使用才保險。
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 10 樓

發表發表於: 星期三 八月 05, 2009 11:22 am    文章主題: 引言回覆

@@"
所以說除了升級版本,似乎沒救?.....唉
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作