Oprava: Windows běžné ovládací prvky Mscomctl.ocx nebo Comctl32.ocx může způsobit neočekávané ukončení aplikace nebo rozhraní IDE Visual Basic 6 nebo obdržíte chybovou zprávu "Dělení nulou"

Překlady článku Překlady článku
ID článku: 896559 - Produkty, které se vztahují k tomuto článku.
Poznámka
Standardní podpora pro Microsoft Visual Basic 6.0 skončila 31. března 2005. Společnost Microsoft vydává tento balíček, který nesouvisí se zabezpečením, protože obsahuje vylepšení, které byly připraveny k uvolnění těsně před koncem běžné podpory. Visual Basic 6.0 byla přepnuta do rozšířenou podporu a spustí rozšířenou podporu až 31. března 2008. Microsoft není standardní podpora fáze rozšíření pro Visual Basic 6.0 jakýmkoli způsobem.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Existují dvě verze Microsoft Windows běžné ovládací prvky. Obsahuje Windows běžné ovládací prvky 5.0 Comctl32.ocx a byl zahrnut v aplikaci Microsoft Visual Studio 5.0. MSCOMCTL.ocx obsahuje Windows společné prvky 6.0 a byl zahrnut v aplikaci Visual Studio 6.0. Tato oprava hotfix řeší následující kritické chyby v těchto ovládacích prvcích.

Windows běžné ovládací prvky 5.0: Comctl32.ocx

Zvažte následující scénář.
  • Používáte aplikaci, která nastaví háčku WinEvent v systému Microsoft Windows 2000 nebo novější verzi operačního systému.
  • Spuštění aplikace, která používá ovládací prvek ListView nebo ovládací prvek TreeView z Microsoft Windows běžné ovládací prvky 5.0.
V tomto scénáři může aplikace neočekávaně ukončit nebo může zobrazit chybová zpráva podobná následující:
Project1: Project1.exe - Chyba aplikace
Instrukce na "0x202d0f51" odkazovala na paměť na "0x40000001". Paměť nelze "zapsat".Klepněte na tlačítko OK ukončete program
Poznámka: Pro usnadnění aplikace, které jsou založeny na Microsoft Active Accessibility obvykle nastavit háčku WinEvent. Například program Narrator je založen na rozhraní Microsoft Active Accessibility. Nástroje, které jsou spuštěny v operačním systému Microsoft Windows XP Tablet PC Edition však nastavit háčku WinEvent.

Windows Common Controls 6.0: Mscomctl.ocx

Pokud používáte aplikaci, která používá Mscomctl.ocx verze 6.1.97.64 nebo novější a aplikaci obsahuje ovládací prvek ListView s AllowColumnReorder vlastnost nastavena na hodnotu True, zobrazí se následující chybová zpráva při pokusu změnit pořadí sloupců:
Project1: Project1.exe - Chyba aplikace
Instrukce na "0x27618848" odkazovala na paměť na "0x016e1e90". Paměť nelze "číst".
V závislosti na výchozím nastavení ladicího programu pro váš systém můžete také obdržet chybovou zprávu "0xC0000094 dělení nulou" nebo může aplikace neočekávaně ukončit.

Poznámka: Pokud spustíte aplikaci v integrovaném vývojovém prostředí Visual Basic 6, budou oba tyto problémy také dojít.

Příčina

Problém s Windows běžné ovládací prvky 5.0 dochází Comctl32.ocx pokusí zkopírovat text členské položky ListView pomocí masky LVI_IMAGE, který má text člen NULL.

Problém s Windows společné prvky 6.0 dochází z důvodu změny ve verzi 6.1.97.64 souboru Mscomctl.ocx. Verze 6.1.97.64 je součástí opravy hotfix 826287. Visual Studio 6.0 spuštěná v počítači se systémem Windows XP nebo novější operační systém, verze 6.1.97.64 souboru Mscomctl.ocx změní chování ovládacího prvku ListView . Většina volání ovládacího prvku ImageList v Mscomctl.ocx jsou obálky zavolá ImageList prostředí běžné třídy ovládacího prvku, který je definován v souboru Comctl32.dll. ImageList_GetImageRect metoda však není zabalena. Tato metoda se stále používá starší verzi struktury ImageList nebo starší verze třídy ovládacího prvku ImageList , která jsou definována v souboru Mscomctl.ocx. Tento návrh způsobí chybu dělení nulou dochází během provozu změnit pořadí sloupců.

Řešení

Důležité Pokud používáte aplikaci jste získali třetí stranou, můžete kontaktovat třetí osoby, který poskytl aplikaci vám před instalací opravy. Například není vyvíjíte aplikace sami. Pokud nainstalujete tuto opravu bez dostatečné testování, může aplikace přestat fungovat.

Poznámka: Uzavřené opravu nelze odinstalovat nebo odebrat po instalaci.

Následující soubor je k dispozici ke stažení z centra pro stahování Microsoft Download Center:
Zmenšit tento obrázekZvětšit tento obrázek
Ke stažení
Stáhněte balíček pro běžné ovládací prvky jazyka Visual Basic 6.0.
http://www.microsoft.com/downloads/details.aspx?FamilyId=25437D98-51D0-41C1-BB14-64662F5F62FE
Další informace o tom, jak stahovat soubory Microsoft Support, získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
119591 Jak získat soubory podpory společnosti Microsoft ze serverů služeb online
Soubor neobsahuje viry. Společnost Microsoft použila aktuální antivirový software, který byl k dispozici k datu zveřejnění souborů. Soubor je uložen na zabezpečených serverech, které neumožňují neoprávněné změny souborů.

Podporovaná oprava je k dispozici od společnosti Microsoft pro Visual Basic 6 SP6.
Anglická verze této opravy hotfix má atributy souborů (nebo novější) uvedené v následující tabulce. Datum a čas jednotlivých souborů jsou uvedeny v seznamu Koordinovaného světového času (UTC). Pokud zobrazíte informace o souboru, jsou konvertovány do lokálního času. Rozdíl mezi místním ČASEM a najít, použijte kartu časové pásmo na panelu Datum a čas v okně Ovládací panely.
   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     

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro".

Další informace

Další informace získáte klepnutím na následující čísla článků znalostní báze Microsoft Knowledge Base:
827217 Oprava: Narušení přístupu v Comctl32.ocx v systému Windows 2000 nebo novější
824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

ID článku: 896559 - Poslední aktualizace: 11. března 2014 - Revize: 5.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Studio 6.0 Enterprise Edition
Klíčová slova: 
kbqfe kbvs600sp6 kbpending kbbug kbmt KB896559 KbMtcs
Strojově přeložený článek
DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.
Projděte si také anglickou verzi článku: 896559

Dejte nám zpětnou vazbu

 

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