  | 
				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 文章: 564 來自: 臺灣
  第 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應用程式來改善這個問題的. | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |