[問題] 多執行緒

作者: GooLoo (平凡)   2016-09-03 16:00:41
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
BCB6
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
手邊只有VB6與BCB6
最近發現Serial port 在軟體存txt或另開一個軟體時,會出現掉資料情況,
不做這些事就正常
上網查, 發現有人在討論多執行緒,
針對serial port在執行緒範例不多
想問一下,我的問題是因為單執行緒造成的嗎?
如果是, bcb6解決這問題容易嗎? 是否有serial port範例呢?
因為vb6一些文章都說很困難
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
作者: rephansu (xanadu)   2016-09-03 22:41:00
從CreateFile( "COMx"...來看, 收訊息其實都是OS在負責不太會因為沒去處理導致掉訊息, 除非緩衝區滿了DCB , CreateFile , SetCommState , SetupComm ...使用 Win32api 處理comport關鍵字大致上就這些想偷懶可試試 C#的SerialPort,C#已內建多執行序的讀取用CreateThread呼叫處理com的function就可解決問題上面那行是說BCB6只要用CreateThread就可以建立執行緒在該執行緒下呼叫讀Com Port就不用擔心緩衝區滿

Links booklink

Contact Us: admin [ a t ] ucptt.com