我想請問下,微軟提供的ScriptControl控制元件在決議腳本出錯的情況下能獲取出錯行的代碼么?
根據微軟的MSDN:https://msdn.microsoft.com/en-us/library/aa227430(v=vs.60).aspx,能夠獲取行號,列號,出錯原因等資訊,也說了能獲取出錯行代碼,但是在實際測驗中,別的錯誤資訊都能獲取到,唯獨出錯行的代碼始終是空的(api呼叫是成功的)。請問下,是不是微軟的這個介面有問題啊?
IScriptErrorPtr pError = NULL;
m_pScript->get_Error(&pError);
if (pError != NULL)
{
variant_t varDetail;
hr = pError->get_Description(&varDetail.bstrVal);
hr = pError->get_Line(&lLine);
variant_t varText;
hr = pError->get_Text(&varText.bstrVal); //value is always empty
if (FAILED(hr))
{
MessageBox(NULL, "get_Text failed", NULL, MB_OK);
}
variant_t varSource;
hr = pError->get_Source(&varSource.bstrVal);
}
PS:測驗的時候是在VC中進行的,測驗代碼就一個vbs函式
Sub Command()
nStr="Function MyFun(x,y)" & vbCrLf & _
" MsgBox "" x+y="" & x+y,vbInformation,""運行時設定代碼""" & vbCrLf & _
"End Function"
sc.AddCode nStr
sc.Run "MyFun",1,2
End Sub
uj5u.com熱心網友回復:
確定使用最新版的ScriptControl,確定以管理員身份運行
以XP兼容模式運行
在64位Windows下:
64位exe和dll在目錄c:\windows\system32目錄下;
32位exe和dll在目錄c:\windows\syswow64目錄下;
所以要注意:
在win64位系統下注冊32位ocx或dll需要將32位ocx或dll拷貝到c:\windows\syswow64\目錄下。
且注冊要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/92454.html
標籤:控件
上一篇:vs2010中CLR中用視窗控制元件button按鈕播放音樂怎么具體操作
下一篇:adodc1.refresh
