1. 遇到最大的問題是**:
r1 = m_iopcsyncio->read(opc_ds_device, 1, phserver, &pitemvalue, &perrors);
返回有問題:0x74af1761 (rpcrt4.dll) (synopc.exe 中)處有未經處理的異常: 0xc0000005: 寫入位置 0x2b35fc13 時發生訪問衝突。
分析:當類中某個引數未初始化,然後去取值,會報同樣的錯,是不是讀資料的時候,數值沒有初始化?
//記憶體分配
phserver = new opchandle[1];
013c126e push
4013c1270 call operator new (013c4980h)
013c1275 add esp,4
013c1278 mov dword ptr [ebp-24h],eax
013c127b mov edx,dword ptr [ebp-24h]
013c127e mov dword ptr [phserver],edx
//通過server控制代碼選擇item(由additemt得到的)
phserver[0] = m_itemresult[0].hserver
;013c1281 mov eax,14h
013c1286 imul ecx,eax,0
013c1289 mov edx,4
013c128e imul eax,edx,0
013c1291 mov edx,dword ptr [phserver]
013c1294 mov esi,dword ptr ds:[13db548h]
013c129a mov ecx,dword ptr [esi+ecx]
013c129d mov dword ptr [edx+eax],ecx
r1 = m_iopcsyncio->read(opc_ds_device, 1, phserver, &pitemvalue, &perrors);
013c12a0 lea edx,[perrors]
013c12a3 push edx
013c12a4 lea eax,[pitemvalue]
013c12a7 push eax
013c12a8 mov ecx,dword ptr [phserver]
013c12ab push ecx
013c12ac push
1013c12ae push
2013c12b0 mov edx,dword ptr ds:[13db528h]
013c12b6 mov eax,dword ptr [edx]
013c12b8 mov ecx,dword ptr ds:[13db528h]
013c12be push ecx
013c12bf mov edx,dword ptr [eax+0ch]
013c12c2 call edx
013c12c4 mov dword ptr [r1],eax
//r1 = m_iopcsyncio->read(opc_ds_cache, 1, phserver, &pitemvalue, &perrors);
//釋放記憶體
delete phserver;
客戶端開發過程
客戶端程式的設計和實現可以被分成 2部分考慮 使用者處理過程 tuxedo 功能部分 下文的客戶端程式只描述了 tuxedo 功能部分。利用 tuxedo 的atmi api 呼叫可以做到 基本的 tuxedo 除錯技巧 tperrno,tpstrerror,userlog tuxedo 程序管理 ...
Qt客戶端開發記錄(整理中)
1 qt framelesswindowhint窗體可移動 可調邊框 邊框陰影 2 全域性快捷鍵 3 json應用 4 hdpi與多屏顯示 5 fancywidgets系列 popup effects button float layer mask overlay 6 qheaderview的hov...
ONVIF客戶端開發
在使用 gsoap 框架生成 之後,得到檔案 soapc.c soapclient.c stdsoap2.c stdsoap2.h duration.c wsdd.h我們利用現有的soapclient,呼叫api構建onvif請求 包括xml,http client 開發前需要了解一下onvif官網...