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

Ö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.
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 ExplicitPublic Function Avg() As DoubleAvg = 0/1End 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

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 329658 - Son İnceleme: 12/30/2006 09:26:36 - Düzeltme: 1.3

Microsoft .NET Framework 1.0 Service Pack 2, Microsoft .NET Framework 1.0 Service Pack 1, Microsoft .NET Framework 1.0

  • kbmt kbcominterop kbclient kbfunctions kbconsole kbbug kbfix kbqfe kbnetframe100presp3fix kbprb KB329658 KbMttr
Geri bildirim