【发布时间】:2021-09-19 01:18:28
【问题描述】:
如果我使用OleVariant 而不是VARIANTARG 来存储VT_BSTR(VOleStr 中的OleVariant),当我处理完字符串后是否还需要调用SafeSysFreeString,或者是这样吗?超出范围时由 OleVariant 自动调用?
例如:
{
WB->Navigate("https://www.example.com");
while (WB->ReadyState != Shdocvw::READYSTATE_COMPLETE) Application->ProcessMessages();
DelphiInterface<IOleCommandTarget> pOleCmdTarget;
WB->Document->QueryInterface(IID_IOleCommandTarget, (void**)&pOleCmdTarget);
OleVariant v;
if (pOleCmdTarget->Exec(&CMDSETID_Forms3, IDM_FONTNAME, Shdocvw::MSOCMDEXECOPT_DONTPROMPTUSER, NULL, v)==S_OK)
{
// utilize v.VOleStr here...
}
} // Does OleVariant auto-deallocate (SafeSysFreeString) here?
【问题讨论】:
标签: delphi c++builder ole variant twebbrowser