Çalışma zamanı hataları, bir ActiveX komut dosyası sistemi catch nasıl kullanılır

Makale çevirileri Makale çevirileri
Makale numarası: 232394 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Not Microsoft Visual C++ 2005, Visual C++ .NET 2003 ve Microsoft Visual C++ .NET 2002, Microsoft .NET Framework tarafından sağlanan bir yönetilen kod model hem de yerel Microsoft Windows kod modeli yönetilmeyen destekler. Bu makaledeki bilgiler yalnızca yönetilmeyen Visual C++ kod uygulanır.
Hepsini aç | Hepsini kapa

Özet

Bir ActiveX komut dosyası içinde çalışan tüm programları gibi komut dosyası sistemi hataları, derleme ve çalıştırma iki tür durum. Önceki uygulamalarında, ActiveX komut dosyası çalıştırma (VBScript ve JScript), iki tür hata arasında ayrım Microsoft tarafından sağlanan Engines. Her ikisi IActiveScriptSite::OnScriptError() ele. Komut dosyası alt yapılarının daha yeni sürümleriyle birlikte, çalışma zamanı ve derleme hatalarını arasında bir ayrım yapıldı. Sözdizimi hatası gibi derleme zamanı hataları, yine de ActiveX komut dosyası sistemi IActiveScriptSite::OnScriptError() yöntemini kullanmak için raporlanır. Ancak, çalışma zamanı hataları, geçersiz bağımsız değişkenler geçirmeden gibi doğrudan OnScriptError() için raporlanır değil. Bunun yerine, farklı bir yöntem, IActiveScriptSiteDebug::OnScriptErrorDebug() raporlanır.

Bu makalede, komut dosyaları tarafından oluşturulan çalışma zamanı hataları yakalamak için varolan bir ActiveX komut dosyası sistemi değiştirme.

Daha fazla bilgi

Bu makalede, bir ActiveX Script Host yazmış olduğunuz olduğunu varsayar. Bunu yapma hakkında daha fazla bilgi için lütfen, bu makalenin "Başvurular" bölümünde belirtildiği makalelerine bakın.

Bir çalışma zamanı hatası oluştuğunda, komut dosyası altyapılarının en yeni yayınların IActiveScriptSiteDebug::OnScriptErrorDebug denir. IActiveScriptSiteDebug arabirimi önce hata ayıklayıcıyı hata ayıklama katılma olanağı katıldı komut dosyası sistemi sağlar. Bir çalışma zamanı hatası bildirilmesi komut dosyası sistemi olarak, en az bir IActiveScriptSiteDebug uygulaması gereklidir oluşur.

IActiveScript::SetScriptSite yöntemi ça?r?ld???nda, komut dosyası altyapısı ana bilgisayarın IActiveScriptSite IActiveScriptSiteDebug arabirim işaretçisi Queryınterface olur. Bu başarısız olursa, komut dosyası altyapısı, kendi üzerinde komut dosyası hata ayıklayıcısı başvurun dener. Ancak, Queryınterface başarılı olursa, komut dosyası altyapısı sonra hata ayıklama özellikleri için kodlama oturumu IActiveScriptSiteDebug::GetApplication() arayın. IActiveScriptSiteDebug::GetApplication() başarısız olursa, komut dosyası alt yapısı hata ayıklama makinede kullanılamaz ve tüm hata işleme için IActiveScriptSite::OnScriptError() için geri, sonlandırma.

IActiveScriptSiteDebug arabirim, en az bir uygulama ile budur:
   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;}
				
Not Visual C++ 2005, ortak dil çalışma zamanı desteğini derleyici seçeneği eklemeniz gerekir (/ clr:oldSyntax) başarıyla önceki kod örneğini derlemek için. Ortak dil çalışma zamanı desteğini derleyici seçeneği eklemek için aşağıdaki adımları izleyin:
  1. Project ' i tıklatın ve sonra ProjectName özellikler ' i tıklatın.

    NotProjectName projenin adı için bir yer tutucudur.
  2. Yapılandırma özellikleri ' ni genişletin ve sonra Genel ' i tıklatın.
  3. Sağ bölmede, seçmek için tıklatın ortak dil çalışma zamanı modülü ve Destek, eski sözdizimi (/ clr:oldSyntax)Common Language Runtime desteği proje ayarları.
  4. Uygula ' yı tıklatın ve sonra da Tamam ' ı tıklatın.
Ortak dil çalışma zamanı desteğini derleyici seçenekleri hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
Alternatif olarak, bir komut dosyası sistemi daha eksiksiz bir uygulama IActiveScriptSiteDebug arabirimin seçebilirsiniz. IActiveScriptSiteDebug arabirimi hakkında daha fazla belge için ziyaret edin, aşağıdaki MSDN Web sitesi:
http://msdn.microsoft.com/en-us/library/6c5sfkte(VS.85).aspx

Referanslar

ActiveX komut dosyası oluşturma hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
223139VBScript ATL uygulamayı barındıran desteği ekleme
183698Etkin komut dosyası oluşturma ana makinesi nasıl Axsh.exe gösterir
168214MFC kullanarak Active Script ana bilgisayar MFCAxs.exe uygular
223389Başlıkları ve ana ve alt yapıları, ActiveX komut dosyası oluşturmak için gerekli olan kütüphaneler Scripting.exe dosya içeriyor

Özellikler

Makale numarası: 232394 - Last Review: 23 Şubat 2014 Pazar - Gözden geçirme: 5.3
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbactivexscript kbhowto KB232394 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: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