亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vc++6.0如何調用KvTcpipClientOcx控件

發布時間:2021-11-26 15:16:17 來源:億速云 閱讀:318 作者:iii 欄目:互聯網科技

這篇文章主要講解了“Vc++6.0如何調用KvTcpipClientOcx控件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Vc++6.0如何調用KvTcpipClientOcx控件”吧!

一、v0.2思路

  1. 因不知道aardio中數據類型和ocx中函數調用的參數類型如何對應 ,感覺繼續用aardio是徒勞的,連登錄函數都調用不成功的。組態王的幫助文檔說KvRealDBClient.exe是基于Vc++開發的,我只能求助于Vc++了。

  2. 無奈VS IDE實在太大了,又耗內存,于是裝VM,裝XP,裝Vc+6.0搭建開發環境,就用去了一兩天,還好沒啥問題,準備堆碼。

  3. 不會Vc++,不會MFC,臨時抱佛腳,邊百度邊看邊碼,累得腰疼。

二、Vc++6.0測試代碼

  1. 我以為的可行方案是用windows定時任務每幾分鐘調用一次exe,exe中獲取實時數據并發送到串口,然后自動結束退出,不管接收方是否收到。

  2. 登錄和取值測試代碼如下:

BOOL CMingdadataDlg::OnInitDialog()
	{
	CDialog::OnInitDialog();
	//....省略編輯器自動生成的代碼

	LPCTSTR server_ip_address = "127.0.0.1";
	unsigned short server_port = 41190;
	LPCTSTR user_name = "admin";
	LPCTSTR user_password = "77887788";

	//::SysFreeString(bstr);

	CString  dataStr = "##";
        CTime curTime = CTime::GetCurrentTime();
        dataStr += curTime.Format("%Y%m%d%H%M");

	//MessageBox(dataStr);
        //嘗試登錄
	short ret = m_kvtcpipserver.Method_LoginServer(server_ip_address, server_port, 
	user_name, user_password);

	CString strTmp;
	strTmp.Format("%d",ret);
	MessageBox("Login?: " +   strTmp);

         unsigned short station_id = 0;
	 unsigned long variable_id = 22;

         BSTR variable_value_string = ::SysAllocString(L"");
	 short v_type = 3;

        //根據id獲取其值
	ret = m_kvtcpipserver.Method_GetVariableValueByVariableId(station_id,variable_id,
	                      &v_type,  &variable_value_string);


        strTmp.Format("%d",ret);
	MessageBox("get data value ok?: " +   strTmp);

	strTmp.ReleaseBuffer();
	dataStr.ReleaseBuffer();

	return TRUE;  // return TRUE  unless you set the focus to a control
}

greate!編譯成release版本進行測試。

三、測試吧測試吧

  1. 可喜可賀,登錄測試成功

Vc++6.0如何調用KvTcpipClientOcx控件

  1. 小激動后面就是無情的鞭笞

Vc++6.0如何調用KvTcpipClientOcx控件

  1. 首先想吐槽下組態王,不過也不能吐(mei)槽(gei)人(qian)家。文檔接口中的某些參數的默認值沒有給出,比如登錄接口的server_port參數。也是好找一把。我是通過登錄KvRealDBClient.exe后用netstat命令去猜的。出現的幾個端口逐一代入。最后確定為 KvTcpipClientOcx登錄接口Method_LoginServer的server_port參數值為41190。

Vc++6.0如何調用KvTcpipClientOcx控件

  1. 雖然登錄成功了,但是用一個變量的ID去查值的時候,總是不成功,改盡各種可能的參數,也是沒有成功,始終返回的2(訪問本地庫或者遠程庫失敗)。KvRealDBClient.exe能調用到結果,我在Vc++中卻拿不到,郁悶,不知是不是還有其他隱含參數 。

感謝各位的閱讀,以上就是“Vc++6.0如何調用KvTcpipClientOcx控件”的內容了,經過本文的學習后,相信大家對Vc++6.0如何調用KvTcpipClientOcx控件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

兰西县| 老河口市| 阆中市| 出国| 莎车县| 莱芜市| 射阳县| 紫云| 竹山县| 崇信县| 宜黄县| 宾川县| 无锡市| 焦作市| 渝北区| 华亭县| 额敏县| 霍城县| 张掖市| 阿克苏市| 汉阴县| 城固县| 都匀市| 英德市| 新邵县| 徐汇区| 开鲁县| 丘北县| 湟中县| 乐陵市| 西盟| 三亚市| 罗山县| 永和县| 上蔡县| 特克斯县| 绥阳县| 松原市| 怀化市| 德令哈市| 甘南县|