我使用程序访问 COM 对象(在我的示例 CANoe 中)并调用 get_Value 方法来获取 COM 对象中变量的值。指针 pVariable 是指向变量的 COM 对象的指针:
VARIANT variable;
result = pVariable->get_Value(&variable);
Run Code Online (Sandbox Code Playgroud)
为了使用 c++ 中的值,我想将 VARIANT 变量中的值保存在整数变量中。如何将 VARIANT 变量中的值转换为整型变量?
确保获得正确的整数值后,只需访问变体值即可。像这样:
VARIANT variable;
HRESULT hr = pVariable->get_Value(&variable);
if (SUCCEEDED(hr)) hr = VariantChangeType(&variable, &variable, 0, VT_I4);
if (SUCCEEDED(hr)) this->Yadayada = variable.lVal;
else ReportFailure(hr);
Run Code Online (Sandbox Code Playgroud)