 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
yang_lisa
註冊時間: 2005-07-07 文章: 7
第 1 樓
|
發表於: 星期四 七月 07, 2005 5:03 pm 文章主題: VFP 呼叫DLL做通訊的問題 |
|
|
有一個疑問希望網上的高手能夠指導一下.
我有一個地磅的系統, 地磅的廠商提供一個DLL的檔案
只要在VFP中宣告之後, 直接呼叫這個DLL就可以得到目前的重量.
所以我是用一個 TIMER 然後不斷的呼叫這 DLL 讀取現在的重量
可是呼叫這個DLL之後系統就會停頓一下...
感覺反應遲鈍. 不知這種問題有什麼比較好的解決方法嗎?
謝謝指導 |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 2 樓
|
發表於: 星期四 七月 07, 2005 6:18 pm 文章主題: |
|
|
那要看是怎麼寫了
我們公司之前的做法參考一下
在form 表單到重量欄位前
在init 裡先以一支clipper(據說是用telepath 函式)程式取得磅重,寫到一個dbf的欄位
再來把讀取到的值成為預設值
或是當車輛定位後,按個鍵執行過磅程式
先前有家權威的公司,也是這麼做的
反應遲鈍,也許你只要一截封包就可知道磅重,
據說地磅的接收器會一直送信號
也就是說封包是一堆的
會不會是那個DLL 抓的是一堆,所以比較久
為了確保正確抓了一百個封包甚至更多(猜的啦) |
|
回頂端 |
|
 |
Pollux
註冊時間: 2004-10-01 文章: 4
第 3 樓
|
發表於: 星期五 七月 08, 2005 8:57 am 文章主題: |
|
|
我想這是那DLL的問題, 看是用怎麼的機制和地磅溝通?
因為那是廠商提供的, 所以你得回頭和那家廠商聯絡囉...^__^ |
|
回頂端 |
|
 |
yang_lisa
註冊時間: 2005-07-07 文章: 7
第 4 樓
|
發表於: 星期六 七月 09, 2005 7:43 pm 文章主題: 地磅廠商的答案 |
|
|
昨天問了地磅的廠商, 他們說設備是被動式的, 呼叫dll時會送出命令到
地磅的控制器, 然後這個設備就會回傳資料.
因為希望做到可以不用人去按鍵確認, 程式一直不斷讀取資料
可是這個dll會讓程式停住 要做到不會停住在vfp上有什麼技術可以學習的嗎. |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 5 樓
|
發表於: 星期日 七月 10, 2005 11:06 am 文章主題: Re: 地磅廠商的答案 |
|
|
yang_lisa 寫到: | 昨天問了地磅的廠商, 他們說設備是被動式的, 呼叫dll時會送出命令到
地磅的控制器, 然後這個設備就會回傳資料.
因為希望做到可以不用人去按鍵確認, 程式一直不斷讀取資料
可是這個dll會讓程式停住 要做到不會停住在vfp上有什麼技術可以學習的嗎. |
你可以試著用TIMER來寫,設定每一段時間去去行DLL一次,執行時送出CHR(13),
也許可行! _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
spfrk
註冊時間: 2004-11-08 文章: 163
第 6 樓
|
發表於: 星期日 七月 10, 2005 10:17 pm 文章主題: RS232 DLL |
|
|
照以上所敘述, 其 DLL 應該是用 RS232 的方式來與地磅機通訊, 而此 DLL 又不是寫成常駐型,
因此短時間的連續呼叫, 當然會造成資料的流失, 因為地磅機是有回應時間的, 當 time out 時, DLL 結束, 並且
返回, 此時地磅機又回應, 自然造成資料的流失, 好像頓噸的, 要解決以上的問題, 最好向廠商要取通訊協定 , 自己
寫, 這樣對硬體的控制, 較能順暢, 也能掌控問題所在, 不要老是在應用程式面上打轉, 控制的問題就是要用, 比較
低階的方式來解決. |
|
回頂端 |
|
 |
Pollux
註冊時間: 2004-10-01 文章: 4
第 7 樓
|
發表於: 星期一 七月 11, 2005 8:40 am 文章主題: Re: RS232 DLL |
|
|
spfrk 寫到: | 要解決以上的問題, 最好向廠商要取通訊協定 , 自己
寫, 這樣對硬體的控制, 較能順暢, 也能掌控問題所在, 不要老是在應用程式面上打轉, 控制的問題就是要用, 比較
低階的方式來解決. |
贊同, 之前DOS年代我用Clipper加3rd Party的library自己寫對磅秤(精品用的)的讀取常式,才不會發生這樣的問題, 因為造成電腦系統停頓的是那個DLL而不是VFP,所以沒有任何方法可以讓你透過修改VFP應用程式來改善這個問題的. |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|