Zobrazí chybové hlásenie „System Error & H80004005"z aplikácie Visual Basic 6.0 keď MFC ActiveX podtried kontrolu ktorejkoľvek z tried okno implementované prostredníctvom Comctl32.dll

Preklady článku Preklady článku
ID článku: 223152 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

PRIZNAKY

MFC ActiveX kontrolu že podtried ktoréhokoľvek z okna tried implementované Comctl32.dll príčin nasledujúca chyba treba hádzať z programu Visual Basic 6.0 .exe.
"System Error & H80004005 (-2147467259). Nešpecifikovaná chyba"
Odladenú verziu ActiveX ovládací spôsobuje ASSERT v súbore Ctlcore.cpp, na konci COleControl::CreateControlWindow, na alebo v blízkosti riadka 662.

Tento problém vyskytuje len vybudovať prípony .exe z Visual Basic 6.0 a spustiť ho z mimo vývojové prostredie jazyka Visual Basic.

PRICINA

Spustiteľné súbory jazyka Microsoft Visual Basic inicializovať spoločné kontroly knižnica (Comctl32.dll) v predvolenom nastavení, výsledná CreateEx hovor v COleControl::CreateControlWindow. Volanie GetLastError() dáva 0x0000057F - nemôžem nájsť okno triedy, ktoré označuje spoločnej kontrole Knižnica je potrebné explicitne inicializované.

RIESENIE

Vnútri InitInstance ovládací prvok ActiveX, aby volania na:
InitCommonControls(void)
alebo
InitCommonControlsEx(LPINITCOMMONCONTROLSEX lpInitCtrls)
To zaistí, že Comctl32.dll je naložený a inicializovať, bez ohľadu na kontajner kontrolu je spustený v.

Namiesto z telefónnej InitCommonControls z ovládacieho prvku kódu, môžete tiež zavolať priamo z klientska aplikácia Visual Basic:
  • Vypracovať všeobecné vyhlásenie pre zodpovedajúce forme; pre Príklad:
    Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
  • Pridať hovor:
    InitCommonControls
    					
    v Form_Load metóda.
V niektorých prípadoch to môže byť príliš neskoro na inicializáciu spoločné kontroly knižnica. Preto sa odporúča pridať toto volanie v InitInstance ovládacieho prvku.

STAV

Toto správanie je predvolené.

DALSIE INFORMACIE

Kroky na reprodukovanie správanie

  1. Pomocou Visual C++, MFC ActiveX ovládací sprievodca, vytvoriť predvolený ovládací prvok ActiveX.
  2. V sekcii Nastavenie riadenia AppWizard (krok 2 Visual C++ 6.0 AppWizard), v okne triedu na podtriedy, vyberte jednu z nasledovné: msctls_hotkey32, msctls_progress32, msctls_statusbar32, msctls_trackbar32, msctls_updown32, SysAnimate32, SysHeader32, SysListView32, SysTabControl32, alebo SysTreeView32.
  3. Vybudovať kontrolu.
  4. Otvorte program Microsoft Visual Basic 6.0 a vytvorte nový štandard Exe projekt.
  5. Z Project ponuky, kliknite na tlačidlo Komponenty, a vyberte ovládací prvok, ktorý ste práve vytvorili pomocou Microsoft Visual C++.
  6. Vyberte tento ovládací prvok a že čerpať vo forme okno.
  7. Z Súbor ponuky, kliknite na tlačidlo Skontrolujte, Project.exe, a vybudovať exe.
  8. Prejdite do programu Prieskumník a spustiť tento spustiteľný.

Vlastnosti

ID článku: 223152 - Posledná kontrola: 21. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Foundation Class Library 4.2, pri použití s produktom:
    • Microsoft Visual Basic 5.0 Learning Edition
    • Microsoft Visual Basic 5.0 Professional Edition
    • Microsoft Visual Basic 6.0 Professional Edition
    • Microsoft Visual Basic 5.0 Enterprise Edition
Kľúčové slová: 
kberrmsg kbtshoot kbcmnctrls kbctrl kbprb kbmt KB223152 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:223152

Odošlite odozvu

 

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