在Delphi 2006中,我有一個相當複雜的應用程序,它使用另一個線程中的單獨窗體通過ApdComport進行通信。這個通信經常失敗,我發現了幾個調用Application.Processmessages的循環,並用ApdComport.ProcessCommunications來重新構建它。ApdComport在調用ProcessCommunications時報告ECommNotOpen
我不想重新安排代碼來使用事件處理程序,而不是現在。
我也想快速通訊,所以我打電話給ProcessCommunications,直到有CharReady。有時ProcessCommunications會通過消息「ie_NOpen - 設備未打開」引發ECommNotOpen異常。我一直無法在幫助或網絡上找到關於此的信息。
我試着將一個ApdComport放在新項目的一個新窗體中,並經常調用它的ProcessCommunications並且無法讓它崩潰。儘管它沒有做任何真正的交流。
我已經嘗試檢查輸出緩衝區有足夠的可用空間之前發送的東西,但它始終存在,問題仍然存在。
那麼發生了什麼?我應該在哪裏看,我該怎麼辦?