Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

CORRECTIF : vous recevez un message d'erreur « System.OverFlowException » lorsque vous appelez une méthode d'un composant (Object Model) DLL à partir d'un programme Visual C# .NET ou un programme Visual Basic .NET

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 329658
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.
Symptômes
Vous pouvez recevoir le message d'erreur suivantes :
Une exception non gérée du type 'System.OverflowException' s'est produite dans client.exe
Des informations supplémentaires : dépassement
Ce problème peut se produire lorsque les conditions suivantes sont remplies :
  • Vous appelez une méthode qui est définie dans un Microsoft Component (Object Model) DLL à partir d'un programme Visual C# .NET ou un programme Microsoft Visual Basic .NET.
  • Dans le code d'application, la méthode se trouve après la fonction System.Math.Asin . La fonction System.Math.Asin renvoie pas un nombre (NaN) .
Cause
Ce problème se produit car le nouveau common language runtime et la poignée de Microsoft Visual Basic 6.0 DLL ou Microsoft Visual C++ DLL flottante pointer variables façon incohérente.
Résolution
Pour résoudre ce problème, procurez-vous le dernier service pack pour Microsoft. .NET Framework 1.0. Pour télécharger le dernier service pack, reportez-vous au site de Web MSDN (Microsoft Developer Network) suivant :
http://www.microsoft.com/downloads/details.aspx?familyid=6978D761-4A92-4106-A9BC-83E78D4ABC5B&displaylang=en
Statut
Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ». Ce problème a été corrigé dans Microsoft .NET Framework 1.0 Service Pack 3.
Plus d'informations

Procédure pour reproduire le problème

Créer une DLL COM dans Visual Basic 6.0

  1. Démarrez Visual Basic 6.0.
  2. Dans la boîte de dialogue Nouveau projet , sous l'onglet Créer , cliquez sur fichier DLL ActiveX , puis cliquez sur Ouvrir . Par défaut, un fichier de module de classe nommé Class1 s'affiche.
  3. Ajoutez le code suivant au fichier de module de classe Class1 :
    Option ExplicitPublic Function Avg() As DoubleAvg = 0/1End Function
  4. Dans le menu Fichier , cliquez sur Créer Project1.dll . La boîte de dialogue Créer un projet s'affiche.
  5. Recherchez un dossier pour enregistrer le Project1.dll fichier, puis cliquez sur OK pour enregistrer le fichier.

Créer une application client

  1. Démarrez Visual Studio .NET.
  2. Dans le menu Fichier , pointez sur Nouveau , puis cliquez sur projet . La boîte de dialogue Nouveau projet s'affiche.
  3. Cliquez sur projets Visual C# sous types de projet , puis cliquez sur application console sous modèles .
  4. Dans la zone Nom , tapez client et puis cliquez sur OK . Par défaut, un fichier est nommé Class1.cs est créé.
  5. Remplacez le code existant par le code suivant :
    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. Dans le menu projet , cliquez sur Ajouter référence . La boîte de dialogue Ajouter une référence s'affiche.
  7. Cliquez sur Parcourir . La boîte de dialogue Sélectionner des composants s'affiche.
  8. Recherchez le fichier Project1.dll que vous avez créé dans la section « Créer une DLL COM », cliquez sur Project1.dll et puis cliquez sur Ouvrir .
  9. Dans la boîte de dialogue Ajouter une référence , cliquez sur OK pour ajouter la DLL à votre projet client.

Générez et exécutez ensuite le projet

  1. Dans le menu Générer , cliquez sur Créer solution .
  2. Appuyez sur CTRL + F5 pour exécuter l'application sans un débogueur. La boîte de dialogue Just-In-Time Débogage s'ouvre.
  3. Cliquez sur Oui . La boîte de dialogue Attacher à cours s'affiche.
  4. Cliquez sur OK .

    Vous pouvez remarquer le problème mentionné dans la section « Symptômes ».
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684 Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft
Références
Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
817248 Comment appeler un assembly de Visual Basic .NET de Visual Basic 6.0 et appeler un composant COM Visual Basic à partir de Visual Basic .NET
315847 Comment utiliser les composants ActiveX dans Visual Studio .NET avec Visual Basic .NET

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 329658 - Dernière mise à jour : 12/30/2006 09:26:36 - Révision : 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 KbMtfr
Commentaires