上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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這工具才沒玩多久
還請各方大德敬請賜教 |
|
回頂端 |
|
|
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. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
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(),這攔不到程式碼只有錯誤代碼 |
|
回頂端 |
|
|
CCB2000
註冊時間: 2009-03-25 文章: 95
第 5 樓
|
|
回頂端 |
|
|
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 6 樓
|
發表於: 星期五 七月 24, 2009 11:33 am 文章主題: |
|
|
@@"
我的開發環境是VFP6 |
|
回頂端 |
|
|
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. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1644
第 9 樓
|
發表於: 星期二 七月 28, 2009 10:30 am 文章主題: |
|
|
沒錯, 小弟也覺得 ASTACKINFO() 似乎必需和ERROR() 交互搭配使用才保險。 |
|
回頂端 |
|
|
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 10 樓
|
發表於: 星期三 八月 05, 2009 11:22 am 文章主題: |
|
|
@@"
所以說除了升級版本,似乎沒救?.....唉 |
|
回頂端 |
|
|
|