SamScrpt.exe 是範例,示範了如何實作動態偵錯 ActiveX 指令碼引擎中內建的直線的 C + +。它被為了示範的一些更進階功能的使用中偵錯如運算式評估] 及 [變數] 視窗。
下列檔案是可以從 Microsoft 下載中心 」 下載:
SamScrpt.exe
(http://download.microsoft.com/download/vc60std/demo1/6.0/nt4/en-us/samscrpt.exe)
如需有關如何下載 Microsoft 支援檔案的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
119591?
(http://support.microsoft.com/kb/119591/EN-US/
)
如何從線上服務取得 Microsoft 支援檔案
Microsoft 已掃描這個檔案有無病毒。Microsoft 使用已張貼檔案的日期中的 [可用的最新病毒偵測軟體。檔案儲存在安全性強化的伺服器上,以避免任何未經授權的更改至檔案。
這個範例會示範如何建置包括使用中的偵錯的支援是 ActiveX 指令碼引擎。ActiveX 指令碼允許主控件,例如 Internet Explorer 來執行指令碼,而不必考慮語言引擎的實質的實作。 作用中的偵錯組建上動態指令碼,並啟用偵錯工具主應用程式,像在 Microsoft 指令碼偵錯工具來提供廣泛、 與語言無關測試和錯誤修正功能。功能 (例如,中斷點、 運算式評估和資料監視是所有可能透過 Active 偵錯介面。使用中的偵錯也可以讓偵錯多個指令碼以不同語言同時,使跨語言問題更容易找出並更正。
雖然每次嘗試讓這個範例引擎精確,它不是商業品質應用程式。Microsoft 不支援此引擎的使用中任何容量。
摺疊此表格展開此表格
| SamScrpt.exe | 301 KB |
|---|
| SampleScript.ncb | 193 KB |
| DLLFunctions.cpp | 8 KB |
| DLLFunctions.h | 1 KB |
| Readme.txt | 3 KB |
| SampleScript.def | 1 KB |
| SampleScriptDocs.doc | 128 KB |
| TestPage.htm | 6 KB |
| SampleScript.dsw | 1 KB |
| SampleScript.plg | 5 KB |
| SampleScript.dsp | 10 KB |
| SampleScript.opt | 53 KB |
| rc1.rc | 1 KB |
| resource.h | 3 KB |
| rc1.aps | 22 KB |
| English.cpp | 1 KB |
| English.plg | 2 KB |
| English.dsp | 4 KB |
| DebugExpression.cpp | 13 KB |
| DebugExpression.h | 2 KB |
| DebugInstruction.cpp | 6 KB |
| DebugInstruction.h | 2 KB |
| DebugInterpreter.h | 4 KB |
| DebugScript.h | 3 KB |
| DebugStackedSymbolTable.cpp | 11 KB |
| DebugStackedSymbolTable.h | 2 KB |
| EDebugStackFrames.h | 2 KB |
| EnumSymbols.cpp | 9 KB |
| debugDepends.h | 4 KB |
| EnumSymbols.h | 9 KB |
| EDebugStackFrames.cpp | 9 KB |
| DebugParser.h | 1 KB |
| DebugParser.cpp | 3 KB |
| EDebugCodeContexts.h | 2 KB |
| DebugClassFactory.h | 2 KB |
| DebugClassFactory.cpp | 5 KB |
| SimpleHostBackup.h | 4 KB |
| SimpleHostBackup.cpp | 26 KB |
| DebugProperty.h | 2 KB |
| DebugProperty.cpp | 10 KB |
| EDebugCodeContexts.cpp | 9 KB |
| DebugScript.cpp | 28 KB |
| DebugErrorHandler.h | 2 KB |
| DebugErrorHandler.cpp | 10 KB |
| CScanner.h | 2 KB |
| CScanner.cpp | 19 KB |
| ActiveDebugTrace.h | 2 KB |
| DebugInterpreter.cpp | 38 KB |
| ExtendedDSFDescriptor.cpp | 13 KB |
| ExtendedDSFDescriptor.h | 2 KB |
| depends.h | 3 KB |
| CInstruction.h | 2 KB |
| CParserSet.h | 7 KB |
| CProductions.h | 2 KB |
| ScriptVariant.cpp | 20 KB |
| ScriptVariant.h | 3 KB |
| StackedSymbolTable.cpp | 6 KB |
| StackedSymbolTable.h | 1 KB |
| SymbolTable.h | 2 KB |
| TStack.h | 2 KB |
| CInterpreter.h | 2 KB |
| ErrorHandler.h | 3 KB |
| ErrorHandler.cpp | 6 KB |
| InterpreterTrace.h | 1 KB |
| CLexer.cpp | 23 KB |
| CLexer.h | 7 KB |
| CInstruction.cpp | 5 KB |
| SymbolTable.cpp | 4 KB |
| CParser.h | 6 KB |
| CParser.cpp | 35 KB |
| CInterpreter.cpp | 28 KB |
| TList.h | 7 KB |
| activeDepends.h | 3 KB |
| CASInterpreter.h | 3 KB |
| CEventHandler.h | 3 KB |
| NamedItem.cpp | 5 KB |
| NamedItem.h | 2 KB |
| SampleClassFactory.cpp | 5 KB |
| SampleClassFactory.h | 2 KB |
| CASErrorHandler.cpp | 11 KB |
| CASErrorHandler.h | 2 KB |
| ActiveScriptTrace.h | 1 KB |
| CEventHandler.cpp | 20 KB |
| SampleScript.h | 5 KB |
| SampleScript.cpp | 57 KB |
| CASInterpreter.cpp | 32 KB |
| ad1.lib | 19 KB |
| activdbg.h | 323 KB |
| activscp.h | 67 KB |
| ad1ex.h | 39 KB |
| dbgprop.h | 50 KB |
| MULTINFO.H | 8 KB |
| DISPEX.H | 31 KB |
| HostInfo.h | 1 KB |
安裝指示
- 將下列路徑加入至 包含 目錄 \Tools\Options\ 目錄中。取代 ... SampleScript 安裝的位置路徑。
...\SampleScript\
...\SampleScript\Interpreter\
...\SampleScript\Active 編寫指令碼 Engine\
...\SampleScript\Active Debugging\
...\SampleScript\scripting\
讓先檢查,請將 ... \SampleScript\scripting\ 路徑拖曳至清單的頂端。 - 將下列路徑加入至程式庫目錄 \Tools\Options\ 目錄中。取代 ... SampleScript 安裝的位置路徑。
...\SampleScript\scripting\
讓先檢查,請將 ... \SampleScript\scripting\ 路徑拖曳至清單的頂端。 - 從 [專案] 功能表按一下 [設定],然後按一下 [連結] 索引標籤。確定 物件/程式庫 的模組中參考該 ad1.lib。這個檔案包含所需的使用中的偵錯的 GUID。
- 建置專案。您必須修改 Objsafe.h 檔案 Visual C++ 包含 目錄中的,如果您收到下列錯誤訊息:
錯誤 C2065: 'INTERFACE_USES_DISPEX': 未宣告的識別項
錯誤 C2065: 'INTERFACE_USES_SECURITY_MANAGER': 未宣告的識別項
尋找如 IObjectSafety,選項位元的定義,並新增 INTERFACE_USES_DISPEX 和 INTERFACE_USES_SECURITY_MANAGER,定義,如下所示。 這些位元所需的 Internet Explorer。
// Option bit definitions for IObjectSafety:
#define INTERFACESAFE_FOR_UNTRUSTED_CALLER 0x00000001
// Caller of interface may be untrusted
#define INTERFACESAFE_FOR_UNTRUSTED_DATA 0x00000002
// Data may be untrusted
#define INTERFACE_USES_DISPEX 0x00000004
// Object knows to use IDispatchEx
#define INTERFACE_USES_SECURITY_MANAGER 0x00000008
// Object knows to use IInternetHostSecurityManager
- 藉由使用 Regsvr32 註冊 [SampleScript.dll。
- 將 English.dll 檔案複製到 SampleScript.dll 相同的目錄。
取得更多資訊有關使用中的偵錯按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
216073?
(http://support.microsoft.com/kb/216073/EN-US/
)
範例: 4thScrpt.exe 示範使用中的偵錯 ATL ActiveX 指令碼引擎中