UPDATE: Die Windows-Standardsteuerelemente "Mscomctl.ocx" und "Comctl32.ocx" können zum unerwarteten Beenden Ihrer Anwendung oder der Visual Basic 6-Entwicklungsumgebung oder zur Anzeige einer Fehlermeldung "Division durch Null" führen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 896559 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
896559 FIX: The Windows Common Controls Mscomctl.ocx or Comctl32.ocx may cause your application or the Visual Basic 6 IDE to unexpectedly quit, or you may receive a "Divide By Zero" error message
Hinweis
Der Mainstream-Support für Microsoft Visual Basic 6.0 wurde am 31. März 2005 eingestellt. Dieses nicht sicherheitsrelevante Paket wird jedoch veröffentlicht, da es Verbesserungen enthält, die gerade noch vor dem Ende des Mainstream-Supports fertig gestellt wurden. Für Visual Basic 6.0 gilt nun der erweiterte Support, der bis zum 31. März 2008 bereitgestellt wird. Microsoft wird die Phase des Mainstream-Supports für Visual Basic 6.0 in keiner Weise verlängern.
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Es gibt zwei Versionen der Microsoft Windows-Standardsteuerelemente. "Comctl32.ocx" enthält Windows-Standardsteuerelemente 5.0 und war in Microsoft Visual Studio 5.0 enthalten. "Mscomctl.ocx" enthält Windows-Standardsteuerelemente 6.0 und war in Visual Studio 6.0 enthalten. Dieser Hotfix behebt die folgenden kritischen Fehler in diesen Steuerelementen.

Windows-Standardsteuerelemente 5.0: Comctl32.ocx

Stellen Sie sich folgendes Szenario vor:
  • Sie führen auf Microsoft Windows 2000 oder einem neueren Betriebssystem eine Anwendung aus, die einen WinEvent-Haken setzt.
  • Sie starten eine Anwendung, die das Steuerelement ListView oder das Steuerelement TreeView von Microsoft Windows-Standardsteuerelemente 5.0 verwendet.
In diesem Szenario wird Ihre Anwendung möglicherweise unerwartet beendet, oder es wird eine Fehlermeldung angezeigt, die der folgenden ähnlich ist:
Projekt1: Projekt1.exe - Anwendungsfehler
Die Anweisung in "0x202d0f51" verweist auf Speicher in "0x40000001". Der Vorgang "Schreiben" konnte nicht auf dem Speicher durchgeführt werden. Klicken Sie auf "OK", um das Programm zu beenden.
Hinweis: Typischerweise wird ein WinEvent-Haken von Eingabehilfe-Anwendungen gesetzt, die auf Microsoft Active Accessibility basieren. Beispielsweise basiert die Sprachausgabe auf Microsoft Active Accessibility. Ein WinEvent-Haken wird jedoch auch von Programmen gesetzt, die auf dem Betriebssystem Microsoft Windows XP Tablet PC Edition laufen.

Windows-Standardsteuerelemente 6.0: Mscomctl.ocx

Wenn Sie eine Anwendung ausführen, die Version 6.1.97.64 oder eine höhere Version von "Mscomctl.ocx" verwendet, und die Anwendung enthält ein Listenansicht-Steuerelement, dessen Eigenschaft AllowColumnReorder auf True (Wahr) gesetzt ist, wird beim Versuch, die Spalten neu zu sortieren, die folgende Fehlermeldung angezeigt:
Projekt1: Projekt1.exe - Anwendungsfehler
Die Anweisung in "0x27618848" verweist auf Speicher in "0x016e1e90". Der Vorgang "Lesen" konnte nicht auf dem Speicher durchgeführt werden.
Abhängig von der Debugger-Standardeinrichtung für Ihr System kann auch eine Fehlermeldung "0xC0000094 Division durch Null" angezeigt werden oder die Anwendung unerwartet beendet werden.

Hinweis: Wenn Sie Ihre Anwendung in der Visual Basic 6-Entwicklungsumgebung ausführen, können auch beide dieser Probleme auftreten.

Ursache

Das Problem bei Windows-Standardsteuerelemente 5.0 tritt auf, weil "Comctl32.ocx" versucht, das Textglied eines Listenansicht-Steuerelements zu kopieren, indem es eine Maske von LVI_IMAGE mit einem NULL-Textglied verwendet.

Das Problem bei Windows-Standardsteuerelemente 6.0 tritt infolge einer Änderung in Version 6.1.97.64 der Datei "Mscomctl.ocx" auf. Version 6.1.97.64 ist in dem Hotfix 826287 enthalten. In Version 6.1.97.64 der Datei "Mscomctl.ocx" ist das Verhalten des Listenansicht-Steuerelements geändert, wenn Visual Studio 6.0 auf einem Computer mit dem Betriebssystem Windows XP oder höher ausgeführt wird. Die meisten Aufrufe des Steuerelements Abbildungsliste in "Mscomctl.ocx" sind Wrapper von Aufrufen in die Shell-Standardsteuerelementklasse Abbildungsliste, die in "Comctl32.dll" definiert ist. Die Methode ImageList_GetImageRect wird jedoch nicht eingeschlossen. Bei dieser Methode wird noch die frühere Version der Abbildungsliste-Struktur und die frühere Version der Abbildungsliste-Steuerelementklasse verwendet, die in der Datei "Mscomctl.ocx" definiert sind. Dieses Design hat zur Folge, dass während der Neusortierung der Spalten ein Fehler "Division durch Null" auftritt.

Lösung

Wichtig: Wenn die von Ihnen ausgeführte Anwendung von einem Fremdanbieter zur Verfügung gestellt wurde, sollten Sie sich vor der Installation des Updates an diesen Fremdanbieter wenden. Angenommen, Sie haben die Anwendung nicht selbst entwickelt. Wenn Sie dieses Update ohne ausreichende Tests installieren, funktioniert die Anwendung möglicherweise nicht mehr.

Hinweis: Das enthaltene Update kann nach der Installation nicht wieder deinstalliert oder entfernt werden.

Die folgende Datei steht im Microsoft Download Center zum Download zur Verfügung:
Bild minimierenBild vergrößern
Download
Visual Basic 6.0 Standardsteuerelemente-Paket jetzt downloaden.
http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=25437D98-51D0-41C1-BB14-64662F5F62FE
Weitere Informationen zum Download von Microsoft Support-Dateien finden Sie im folgenden Artikel der Microsoft Knowledge Base:
119591 So erhalten Sie Microsoft Support-Dateien im Internet
Microsoft hat diese Datei auf Viren überprüft. Microsoft hat dazu die neueste Software zur Virenerkennung verwendet, die zum Zeitpunkt der Bereitstellung verfügbar war. Die Datei befindet sich auf Servern mit verstärkter Sicherheit, wodurch nicht autorisierte Änderungen an der Datei weitestgehend verhindert werden.

Ein Update für Visual Basic 6 SP6 ist inzwischen von Microsoft erhältlich.
Die englische Version dieses Hotfixes weist die in der nachstehenden Tabelle aufgelisteten Dateiattribute (oder höher) auf. Datums- und Uhrzeitangaben für diese Dateien sind in der "Coordinated Universal Time" (UTC) angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Die Abweichung zwischen UTC-Zeit und lokaler Zeit können Sie im Systemsteuerungsprogramm Datum/Uhrzeit mithilfe der Registerkarte Zeitzone ermitteln.
   Date         Time   Version    Size       File name
   ------------------------------------------------------
   18-Aug-2003  20:25  6.0.81.6   1,344,512  Comctl32.ocx     
   02-Nov-2004  00:16  6.1.97.86  1,064,208  Mscomctl.ocx     

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Weitere Informationen

Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
827217 Update: greifen Sie auf Verletzung in Comctl32.ocx auf Windows 2000 oder später zu
824684 Erläuterung von Standardbegriffen bei Microsoft Software Updates

Eigenschaften

Artikel-ID: 896559 - Geändert am: Dienstag, 31. Januar 2006 - Version: 2.7
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Studio 6.0 Enterprise Edition
Keywords: 
kbqfe kbvs600sp6 kbpending kbbug KB896559
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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