BUG : Une défaillance de protection générale peut se produire lorsque le contrôle ComboBox est défini sur une bande de CoolBar

Traductions disponibles Traductions disponibles
Numéro d'article: 269618 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F269618
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Si une application Visual Basic comporte un contrôle ComboBox sur une bande du contrôle CoolBar, celui-ci fonctionne comme prévu dans les versions de Visual Basic antérieures à Microsoft Visual Studio 6.0 Service Pack 4 (SP4). Cependant, si vous utilisez SP4, il se peut que l'application ne réponde plus (se bloque) à la fermeture de la feuille qui héberge le contrôle CoolBar. Le blocage se produit uniquement sur les systèmes utilisant Windows 98 ou Windows 95.

Cause

Ceci se produit car les commandes de la bande CoolBar ne sont pas effacées en temps voulu.

Résolution

Pour contourner ce problème, ajoutez la ligne de code suivante au Gestionnaire d'événements Form_QueryUnload :
CoolBarName.Bands.Clear

Statut

Microsoft a confirmé l'existence de ce bogue dans les produits Microsoft répertoriés dans la section "Liste des produits concernés par cet article".

Plus d'informations

Étapes à suivre pour reproduire ce comportement

  1. Créez un projet Standard EXE avec Visual Basic à partir de Visual Studio 6.0 SP4 sous Windows 98. Form1 est créé par défaut.
  2. Dans la boîte de dialogue Composants, appuyez sur les touches CTRL+T, sélectionnez Microsoft Windows Common Controls-3 6.0 (Sp4), et cliquez sur OK.
  3. Ajoutez un contrôle CoolBar à Form1. Utilisez les paramètres par défaut.
  4. Ajoutez un contrôle ComboBox dans l'une des bandes du contrôle CoolBar.
  5. Enregistrez le projet et appuyez sur la touche F5 pour exécuter l'application. Cliquez sur le X dans le coin supérieur droit de la feuille pour fermer, et notez qu'un message d'erreur similaire à ce qui suit apparaît :
    Le nom du fichier a causé une défaillance de protection générale dans le module USER.EXE à 0004:00000499.

    Ce programme a effectué une opération non conforme et va être arrêté. Si le problème persiste, contactez le vendeur du programme.
    Le nom du fichier est le nom de votre projet.

  6. Le nom du fichier est le nom de votre projet.Ouvrez à nouveau le projet dans l'environnement de développement intégré (IDE) Visual Basic. Parfois, Windows se bloque lorsque Visual Basic est ouvert à nouveau, il se peut qu'un redémarrage de votre ordinateur soit nécessaire. Le message "ressource faible", indiquant que vous devez fermer d'autres applications ou des pilotes fonctionnant en tâche de fond peut également s'afficher.
  7. Le nom du fichier est le nom de votre projet.Ajoutez le code suivant à Form1 :
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        CoolBar1.Bands.Clear
    End Sub
  8. Le nom du fichier est le nom de votre projet.Enregistrez le projet et appuyez sur la touche F5 pour exécuter l'application. Cliquez sur le X dans le coin supérieur droit de la feuille pour fermer et notez que le projet fonctionne correctement.

    REMARQUE : Si vous cliquez sur le bouton Fin dans l'IDE de Visual Basic pour terminer l'application, notez que le problème persiste car le Gestionnaire d'événements Form_QueryUnload n'a aucune chance de s'exécuter. Par conséquent, ne terminez pas votre application à l'aide du bouton Fin dans l'IDE. Pour contourner ce problème, vous pouvez remplacer la version SP4 du fichier Comct332.ocx dans le répertoire système par le Service Pack 3 de Visual Studio 6.0. Vous devez tout de même implémenter en même temps la solution mentionnée à la dernière étape.

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 :
189632 BUG: Error in CoolBar Event Can Cause Hanging or Exception
189914 BUG : Wrapped CoolBar Control May GPF Client EXE Program
257630 FIX : Exception error closing an application containing a Coolbar Control

Propriétés

Numéro d'article: 269618 - Dernière mise à jour: dimanche 23 février 2014 - Version: 4.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 6.0 Édition professionnellesur le système suivant
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
  • Microsoft Visual Basic 6.0 Édition Entreprisesur le système suivant
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
Mots-clés : 
kbnosurvey kbarchive kbbug kboswin98 kboswin95 kbvbp600 kbpending kbgrpdsvb KB269618
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

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