void CSpinningCodeDlg::OpenVar() { CString VariableName; BSTR bstr; BOOL bIsValid; if( m_pDualVar1 ) { VariableName = _T("PLC.M[100]"); bstr = VariableName.AllocSysString(); m_pDualVar1->OpenVariable(bstr, &m_hVar1); ::SysFreeString(bstr); ASSERT( m_hVar1 != INVALID_HVAR ); m_pDualVar1->IsValid(m_hVar1, &bIsValid); ASSERT( bIsValid ); ////////////////////////////////////////////////////////////////////////// VariableName = _T("E.PROGSELECT"); bstr = VariableName.AllocSysString(); m_pDualVar1->OpenVariable(bstr, &m_hProgSelectVar); ::SysFreeString(bstr); ASSERT( m_hProgSelectVar != INVALID_HVAR ); m_pDualVar1->IsValid(m_hProgSelectVar, &bIsValid); ASSERT( bIsValid ); ////////////////////////////////////////////////////////////////////////// VariableName = _T("S.E.PROGSELECT"); bstr = VariableName.AllocSysString(); m_pDualVar1->OpenVariable(bstr, &m_hSProgSelectVar); ::SysFreeString(bstr); ASSERT( m_hSProgSelectVar != INVALID_HVAR ); m_pDualVar1->IsValid(m_hSProgSelectVar, &bIsValid); ASSERT( bIsValid );
时间: 2023-08-19 22:06:52 浏览: 156
这段代码是 CSpinningCodeDlg 的成员函数 OpenVar ,主要作用是打开三个变量,并将其句柄保存到对应的成员变量中。这三个变量分别是 PLC.M[100]、E.PROGSELECT 和 S.E.PROGSELECT。
具体来说,函数首先创建一个 CString 类型的变量 VariableName,初始化为 PLC.M[100],然后将其转换为 BSTR 类型的字符串 bstr,传入 m_pDualVar1 的 OpenVariable 函数中,打开该变量,并将其句柄保存到成员变量 m_hVar1 中。接着,函数调用 m_pDualVar1 的 IsValid 函数来检查该变量的句柄是否有效,并断言其有效。
接下来,函数重复上述过程,分别打开 E.PROGSELECT 和 S.E.PROGSELECT 两个变量,并将其句柄保存到成员变量 m_hProgSelectVar 和 m_hSProgSelectVar 中,并检查它们的句柄是否有效。
总之,这段代码的作用是打开三个变量,并将它们的句柄保存到对应的成员变量中,以便后续对这些变量进行读写操作。
阅读全文