2018年6月9日 星期六

vb6關掉winsock的介面導致連線斷線的解決方法

—問題描述
我們公司的Scan主機程式(主控)是使用VB6撰寫,最近有個案子是要與客戶自製的AI PC交握、傳資料。在測交握時發現,當含有Scan與AI PC通訊的Winsock介面被關掉時,Scan與AI PC的通訊會斷掉,這原本是非常合理的事,但在我們檢查機台上是個極不方便的設定。我們不希望同時間顯示太多介面給客戶看,卻又要保持連線,後來參考了前輩們與子機連線的寫法,再加上自己查的資料解決了這一個事件。


—解決方法
解決方法是用該表單的Form_QueryUnload或Form_Unload事件的Cancel參數回傳值,並在QuueryUnload或Unload事件中將介面隱藏起來。
Form_QueryUnload與Form_Unload都有一個Cancel傳回值,若它的數值為False,則表單繼續執行關閉的動作,而它的數值為True時,則表單就不能被關閉。
程式碼如下:

Private Sub Form_Unload(Cancel As Integer)
     Cancel = True
     Me.Visible = False
End Sub


─參考資料



這封郵件來自 Evernote。Evernote 是您專屬的工作空間,免費下載 Evernote

沒有留言:

張貼留言