Jak zachytávání chyb běhu ActiveX Script Host

Překlady článku Překlady článku
ID článku: 232394 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Poznámka: Microsoft Visual C++ 2005, Microsoft Visual C++ .NET 2003 a Microsoft Visual C++ .NET 2002 podporují model spravovaný kód, který je součástí Microsoft .NET Framework a Nespravovaná nativní kód modelu Microsoft Windows. Informace v tomto článku platí pouze pro nespravované kód jazyka C++.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Podobně jako všechny programy skripty systémem ActiveX Script Host můžete vyvoláním dva druhy chyb při kompilaci a při běhu. V dřívějších implementacích poskytované společností Microsoft (VBScript a JScript) provedené žádné rozdílu mezi dvěma typy chyb Engines skriptování ActiveX. Obě byly zpracovány v IActiveScriptSite::OnScriptError(). S novější verzí skriptovací stroje byla provedena rozdílu mezi chyby při běhu a při kompilaci. Pomocí metody IActiveScriptSite::OnScriptError() Script Host ActiveX jsou stále hlášeny chyby při kompilaci, jako jsou například chyby syntaxe. Však chyby při běhu, jako je například předávání neplatné argumenty není přímo hlášeny OnScriptError(). Místo toho jejich jsou hlášeny jinou metodu IActiveScriptSiteDebug::OnScriptErrorDebug().

Tento článek popisuje, jak upravit existující ActiveX Script Host k zachycení chyb běhu vyvolaných ze skriptů.

Další informace

Tento článek předpokládá, že jste již zapsány ActiveX Script Host. Další informace o tím naleznete v článcích uvedených v "Odkazy".

V nejnovějším vydání skriptovací stroje IActiveScriptSiteDebug::OnScriptErrorDebug nazývá, když dojde k chybě při běhu. Poskytuje rozhraní IActiveScriptSiteDebug týká pravděpodobnost účastnit ladění před ladicí program Script Host. V pořadí Script Host upozorněni při chybě běhu dochází, je vyžadována minimální implementace IActiveScriptSiteDebug.

Při volání metody IActiveScript::SetScriptSite skriptovací stroj bude QueryInterface IActiveScriptSite ukazatel hostitele pro rozhraní IActiveScriptSiteDebug. Pokud se nezdaří, skriptovací stroj se pokusí kontaktovat ladicí prostředek skriptů na své vlastní. Však Pokud QueryInterface je úspěšný, skriptovací stroj bude potom volat IActiveScriptSiteDebug::GetApplication() navázat ladění vybavení pro skriptování relaci. Pokud IActiveScriptSiteDebug::GetApplication() nezdaří, bude, že ladění není k dispozici v počítači a vrátit se k IActiveScriptSite::OnScriptError() zpracování všech chyb ukončuje skriptovací stroj.

Toto je rozhraní IActiveScriptSiteDebug s minimálními implementace:
   STDMETHOD(GetDocumentContextFromPosition)(
      DWORD dwSourceContext, 
      ULONG uCharacterOffset, 
      ULONG uNumChars, 
      IDebugDocumentContext **ppsc) {return E_NOTIMPL;}

   STDMETHOD GetApplication( IDebugApplication **ppda ) {return E_NOTIMPL;}

   STDMETHOD(GetRootApplicationNode)( IDebugApplicationNode **ppdanRoot) {return E_NOTIMPL;}
   
   STDMETHOD(OnScriptErrorDebug)( 
      IActiveScriptErrorDebug *pErrorDebug, 
      BOOL *pfEnterDebugger,
      BOOL *pfCallOnScriptErrorWhenContinuing) {return E_NOTIMPL;}
				
Poznámka V Visual C++ 2005, musíte přidat možnost kompilátoru podporu runtime běžné jazyk (/ clr:oldSyntax) úspěšně zkompilovat předchozí ukázkový kód. Přidat možnost kompilátoru podporu runtime běžné jazyk, postupujte takto:
  1. Klepněte na tlačítko projekt a klepněte na příkaz vlastnosti ProjectName.

    Poznámka:ProjectName je zástupný název projektu.
  2. Rozbalte položku Konfigurace vlastnosti a potom klepněte na položku Obecné.
  3. V pravém podokně klepnutím vyberte Common Language Runtime podpory, staré syntaxe (/ clr:oldSyntax) v Common Language Runtime podporují nastavení projektu.
  4. Klepněte na tlačítko použít a potom klepněte na tlačítko OK.
Další informace o možnosti kompilátoru podpory runtime běžné jazyk na webu Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
Script Host může také zvolit více úplnou implementaci rozhraní IActiveScriptSiteDebug. Dokumentaci o rozhraní IActiveScriptSiteDebug, navštivte následující MSDN webu:
http://msdn.microsoft.com/en-us/library/6c5sfkte(VS.85).aspx

Odkazy

Další informace o vytváření skriptů ActiveX klepněte na následující číslo článku databáze Microsoft Knowledge Base:
223139Jak přidat podporu pro hostování VBScript aplikace ATL
183698Axsh.exe ukazuje, jak implementovat active scripting host
168214MFCAxs.exe implementuje hostiteli Active Script pomocí MFC
223389Scripting.exe soubor obsahuje záhlaví a knihovny, které jsou nezbytné k vytvoření skriptu ActiveX hostitelů a stroje

Vlastnosti

ID článku: 232394 - Poslední aktualizace: 28. února 2014 - Revize: 5.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Visual Basic, Scripting Edition 5.0
  • Visual Basic, Scripting Edition 4.0
  • Visual Basic, Scripting Edition 3.0
Klíčová slova: 
kbnosurvey kbarchive kbmt kbactivexscript kbhowto KB232394 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:232394

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com