串列埠模組總結
阿新 • • 發佈:2018-11-22
這一次我把VC6.0上執行沒有問題的串列埠模組挪到VS2010上。
字符集轉換的問題我已經很好地解決了,編譯通過,執行的時候卻發現程式無法找到串列埠。
自然無法連線和收發資料。
我實在不知道為什麼不行,所以我查了一下串列埠通訊:
我的程式碼是用了第二種方法,使用了Active X控制元件。
我在BOOL CxxxxApp::InitInstance()的實現裡找到了這句程式碼
AfxEnableControlContainer(); /*想在應用程式中使用ActiveX控制元件,必須使你的應用程式成為ActiveX控制元件包容器。 ActiveX控制元件包容器就是完全支援ActiveX控制元件,並能把控制元件組合進自己的視窗或對 話框的父應用程式。 在用AppWizard建立新的應用程式時,就可以在第三步選中支援ActiveX control的 複選框直接設定這個支援 要是忘記選了,就在這裡手動新增這個函式,手動加入這個支援,效果是一樣的*/
但是我一直沒有在對話方塊里加入MSComm控制元件?
加上去,執行還是沒有成功。
直到我隱掉了xxxxDlg.cpp裡面初始化函式BOOL CxxxxDlg::OnInitDialog()裡清空串列埠號、搜尋串列埠的程式碼
程式能用了,但是也犧牲了一部分功能。
實際上電腦只有五個串列埠:
我還沒找到解決辦法。