使用 TComm 出現 "Error Opening Serial Port" 問題 |
尚未結案
|
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
大家好!
我使用 TComm 去控制撥號網路,有時後會出現 "Error Opening Serial Port" 及 " Cannot setup Comm Buffer" 問題, 造成無法開啟通訊埠 , 請問應該如何處理, 才能避免此一狀況, 而可以繼續使用撥號網路? 或是在發生"Error Opening Serial Port" 及 " Cannot setup Comm Buffer"時 , 可以呼叫什麼函數去reset Port 嗎? 用Comm1->PortOpen=true
或Comm1->portOpen=false 好像不行
因為似乎就是利用PortOpen 造成的 Error Message.... 感謝大家的幫忙, 謝謝囉!
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
應該是您所指定的 COM Port 已被其他程式占用,或是前次使用沒有正常關閉。
您可以在程式啟動前先試試
■【BCB】【發表】系統 COM Port 列表對應的實體位置及是否占用
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=33626
確認指定的 COM Port 沒人使用,再啟動您的程式確認不是 COM Port 已被占用的問題。 在 Windows 除非使用特殊的 COM Port driver 否則無法多個程式同時使用 1 個 COM Port。 視動科技 VMASK - ViewMove Automation Software Kernel 發表人 - dllee 於 2004/08/17 08:26:53
------
http://www.ViewMove.com |
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
謝謝您的幫忙!! 我表達得不是很清楚 , 造成您的誤解 ,真不好意思
其實在程式開啟時我都會先試試 Port 有無開啟, 然後才會進行程式的後續動作 目前發展的程式, 需要不斷的開關Com port, 程式架構如下, void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
for (i=1;i<1000;i )
{
if (Comm1->PortOpen==false)
{Comm1->PortOpen=true;}
Sleep(1000);
工作一;//做FTP if (Comm1->PortOpen==true)
{Comm1->PortOpen=false;}
Sleep(1000);
工作二; }
} 所以出現 "Error Opening Serial Port" 及 " Cannot setup Comm Buffer"
是程式進行一段時間 (Maybe 一天) 之後的結果 目前我使用的元件為TComm (文魁 書上附的) , FTP 元件是 BCB 6.0 內建的IDFTP 元件 我在猜有無可能是TComm的問題? 有點想換換其他的Comm元件試試,
在板上看到很多人的討論 , 不知是用SPComm 還是 MSComm 較好? 或是TComm 改用多執行緒方式(參考下列網址)
http://delphi.ktop.com.tw/topic.php?topic_id=36692
不過我不大會用...
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
我不清楚,為什麼您 COM Port 要開開關關,一般都是開到結束再關。
COM Port 在開關的過程,如果您下關的指令,還沒關好,雖然您有 Sleep(1000),但您能確定「每次」都能在 1 秒內關完嗎?只有要一次超過 1 秒,那接下來自然就開不起來。請注意: COM Port 有沒有關好是由系統決定,不是您的程式決定。
最好是改程式架構,看能不能不要開開關關。
不然就是您在關後,再開之前要確認系統已經把 COM Port 關好,再開,
而不要用 Sleep 的方式。 視動科技 VMASK - ViewMove Automation Software Kernel 發表人 - dllee 於 2004/08/18 10:49:16
------
http://www.ViewMove.com |
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |