Düzeltme: bir Visual C# .NET programından veya bir Visual Basic .NET programdan, bir Bileşen Nesne Modeli (COM) DLL yöntemini çağırdığınızda "System.OverFlowException" hata iletisi alıyorsunuz

Makale çevirileri Makale çevirileri
Makale numarası: 329658 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Aşağıdaki hata iletisini alabilirsiniz:
Içinde client.exe 'System.OverflowException' türünde işlenmeyen bir özel durum oluştu
Ek bilgi: taşması
Bu sorun, aşağıdaki koşullar geçerli olduğunda oluşabilir:
  • Siz bir Microsoft Bileşen Nesne Modeli (COM içinde) DLL'I, bir Microsoft Visual C# .NET programından veya bir Microsoft Visual Basic. NET'te programdan tanımlanmış bir yöntemi çağırın.
  • Uygulama kodu yöntemi sonra System.Math.asin işlevi bulunur. System.Math.asin işlev numarası değil (NaN) verir.

Neden

Bu sorun, yeni ortak dil çalışma zamanı ve kayan Microsoft Visual Basic 6.0 dll DOSYASı veya Microsoft Visual C++ DLL tanıtıcı değişkenleri tutarsız işaret nedeniyle oluşur.

Çözüm

Bu sorunu gidermek için <a0></a0>, Microsoft için en son hizmet paketini edinin. .NET Framework 1.0. En son hizmet paketini karşıdan yüklemek için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://www.microsoft.com/downloads/details.aspx?familyid=6978D761-4A92-4106-A9BC-83E78D4ABC5B&displaylang=en

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır. Bu sorun, ilk olarak Microsoft giderilmiştir .NET Framework 1.0 Service Pack 3.

Daha fazla bilgi

Davranışı Yeniden Oluşturma Adımları

Bir COM DLL Visual Basic 6.0 oluşturun...

  1. Visual Basic 6. 0'ı başlatın.
  2. Yeni proje iletişim kutusuna Yeni sekmesinde ActiveX DLL ' i tıklatın ve sonra ' ı tıklatın. Varsayılan olarak, Class1 adlı bir sınıf modülü dosyası görüntülenir.
  3. Class1 sınıf modülü dosyası için aşağıdaki kodu ekleyin:
    Option Explicit
    Public Function Avg() As Double
    Avg = 0/1
    End Function
  4. Dosya menüsünde yap Project1.dll. <a0>Proje oluştur</a0> iletişim kutusu görüntülenir.
  5. Project1.dll kaydedileceği klasörü bulmak dosya ve dosyayı kaydetmek için Tamam ' ı tıklatın.

Bir istemci uygulaması oluşturun.

  1. Visual Studio .NET'i başlatın.
  2. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın. <a0>New Project</a0> iletişim kutusu görüntülenir.
  3. Project Types altında Visual C# Projects ' ı tıklatın ve şablonları altında Console Application ' ı tıklatın.
  4. Adı kutusuna, istemci yazın ve Tamam ' ı tıklatın. Varsayılan olarak, Class1.cs adlı bir dosya oluşturulur.
  5. Varolan kodu aşağıdaki kodla değiştirin:
    using System;
    using Project1;
    using System.Diagnostics;
    
    namespace Client
    {	
    	class Class1
    	{		
    		[STAThread]
    		static void Main(string[] args)
    		{
    			
    			Class1Class T = new Class1Class();
    			Console.WriteLine(T.Avg()) ;
    
    			double D = Math.Asin(2); 
    			Console.WriteLine(T.Avg());    			
    		}		
    	}
    }
  6. Proje menüsünde Add Reference. <a0>Başvuru Ekle</a0> iletişim kutusu görüntülenir.
  7. Gözat ' ı tıklatın. <a0>Select bileşen</a0> iletişim kutusu görüntülenir.
  8. Project1.dll ' ı tıklatın "COM DLL oluşturma" bölümünde oluşturduğunuz Project1.dll dosyasını bulun ve sonra ' ı tıklatın.
  9. Başvuru Ekle iletişim kutusunda, dll DOSYASıNıN istemci Projenize eklemek için Tamam ' ı tıklatın.

Oluşturup sonra projeyi çalıştırın.

  1. Yapı) menüsünde tıklatın Build Solution.
  2. Hata ayıklayıcısını olmadan uygulamayı çalıştırmak için CTRL + F5 tuşuna basın. Just-In-Time hata ayıklama iletişim kutusu görüntülenir.
  3. Evet ' i tıklatın. <a0>Işleme Ekle</a0> iletişim kutusu görüntülenir.
  4. Tamam ' ı tıklatın.

    "Belirtiler" bölümünde anlatılan davranışı da görebilirsiniz.
Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
817248Visual Basic 6. 0'dan bir Visual Basic .NET derlemesi arayın ve Visual Basic .NET ' bir Visual Basic COM bileşeni çağrısı
315847Visual Studio. NET'te Visual Basic .NET ile ActiveX bileşenlerini kullanma

Özellikler

Makale numarası: 329658 - Last Review: 30 Aralık 2006 Cumartesi - Gözden geçirme: 1.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0
Anahtar Kelimeler: 
kbmt kbcominterop kbclient kbfunctions kbconsole kbbug kbfix kbqfe kbnetframe100presp3fix kbprb KB329658 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:329658
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

Geri Bildirim Ver

 

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