Visual Studio 6 Windows Common Controls 6.0 (sp6) Windows 7, 64 bit

Poproszono mnie o pomoc w pracy nad starszą aplikacją vb6 dla kogoś, więc postanowiłem wrzucić Visual Studio 6 na mój laptop z systemem Windows 7 x64 po Ten przewodnik .

Zainstalowany dobrze, i z widzę wszystko działa z wyjątkiem Microsoft Windows Common Controls 6.0 (sp6). Microsoft Windows Common Controls-2 6.0 (sp6), Microsoft Windows Common Controls 5.0 (sp2), itp. wszystko działa dobrze. Jednak, gdy próbuję dodać Microsoft Windows Common Controls 6.0 (sp6) komponent dostaję błąd:

'' could not be loaded

Nie mogłem dodać obrazu, więc załadowałem zrzut ekranu tutaj dla każdego, kto chce zobaczyć go dokładnie:

http://i.imgur.com/7aym4xB.png

Próbowałem zarejestrować/wyrejestrować / ponownie zarejestrować MXCOMCTL.OCX, MSCOMCT2.OCX, msdatsrc.tlb wszystkie bez powodzenia. Odinstalowałem również znaną aktualizację zabezpieczeń, która mogła powodować problemy z popularnymi kontrolkami systemu Windows. Usunąłem IE11, mimo że raporty stanu IE11 nie będą powodować problemów z MSCOMCTL.OCX tak jak IE10.

Uruchamiam VB6.EXE w trybie zgodności z Windows XP SP3. Wyłącz motywy wizualne, Wyłącz kompozycję pulpitu i Wyłącz skalowanie wyświetlania w Ustawieniach wysokiej rozdzielczości. Jak również uruchomić go jako administrator.

Próbowałem również otworzyć poprzedni projekt, który wykorzystuje tę kontrolę, i nie powiedzie się podczas ładowania z tym samym "pustym" błędem jak na zrzucie ekranu z następującym w wygenerowanym dzienniku błędów:

Linia 35: Klasa MSComctlLib.ListView of control lvData nie była załadowaną klasą kontrolną. Linia 223: Klasa MSComctlLib.StatusBar of control Stat nie był załadowaną klasą sterowania.

Więc to mówi mi, że to nie jest problem z wersją wewnątrz .vbp jak niektórzy sugerują (jak to bywa z nowymi, pustymi projektami).

Jestem na końcu rozumu. Najwyraźniej ludzie dostali zarówno VB6, jak i Windows 7 x64 do poprawnego działania (z typowymi kontrolkami Windows), ale nic, co próbowałem, nie rozwiązuje mojego problemu. Mam nadzieję, że ktoś tu wpadł na to, lub mieć jakieś pomysły, co się dzieje.
Author: StayOnTarget, 2013-12-22

13 answers

Czekając na odpowiedź na pomysły tutaj, postanowiłem spróbować czegoś. Uruchomiłem regedit jako administrator, nawigowałem do klucza HKEY_CLASSES_ROOT \ TypeLib,a następnie wyszukałem "MSCOMCTL.OCX"... Usunąłem każdy klucz, który do tego odwołuje się .plik ocx.

Po przeszukaniu całego rejestru, usunięciu tego, co znalazłem, uruchomiłem wiersz polecenia jako administrator. Następnie nawigowałem do C:\Windows\SysWOW64 i wpisał następujące komendy:

regsvr32 MSCOMCTL.OCX
regtlib msdatsrc.tlb

Po ponownym zarejestrowaniu tych dwóch plików, wszystko działa! Przeglądałem sieć godzinami, szukając tego rozwiązania bez skutku. Tak się składa, że sam to naprawiłem po wrzuceniu tutaj pytania: (chociaż Visual Studio 6 jest przestarzałe, mam nadzieję, że to może jeszcze pomóc innym!

 51
Author: Jay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-23 04:53:09

Implementacja obu dyrektyw już zadziałała dla mnie od wewnątrz "C:\Windows\SysWOW64"

regsvr32 MSCOMCTL.OCX
regtlib msdatsrc.tlb

Warto zauważyć, że pole DOS powinno być w trybie administratora. Wcześniej miałem błędy w żyle " Klasa MSComctlLib.TreeView kontrolki tvtreeview nie była załadowaną klasą kontrolki " i " klasa MSComctlLib.ListView kontrolki lvlistview nie była załadowaną klasą kontrolki".

Używam również Visual Studio 6 na 64-bitowym Windows 7, z aktualizacjami SP6. I was driven tutaj z powodu tego samego problemu. W moim przypadku nie musiałem przechodzić przez rejestr.

 11
Author: Loloy D,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-09 19:36:19

Przeszukałem ten problem godzinami i kliknąłem w setki stron internetowych, żadna z nich nie zadziałała.

Moje ostateczne rozwiązanie:

  1. run: cmd
  2. cd c:\Windows\SysWOW64 (locate to the location)
  3. regsvr32 MSCOMCTL.OCX

To rozwiązuje pierwszy. Dla drugiego:

  1. run: cmd
  2. cd c:\Windows\Microsoft.NET\Framework\v4.0.30319
  3. regtlibv12 msdatsrc.tlb

Zrobione.

To może nie działać dla wszystkich (biorąc pod uwagę wersję systemu, itp.)

 3
Author: yingliu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-02 00:11:49

Miałem ten sam problem z załadowaniem mojego projektu VB 6. Oto przykładowy komunikat o błędzie: "Class MSComctlLib.Progresbar of control prgExecution nie był załadowaną klasą sterowania."

Ten problem został rozwiązany przez magię Microsoftu w następujący sposób: otworzyłem okno komponentów projektu w moim zepsutym projekcie. Kliknąłem na Przeglądaj i znalazłem plik MsComctl.ocx. Kliknąłem na OK. VB 6 potem utknął(aplikacja nie reaguje). Po jakimś czasie zakończyłem aplikację VB 6 używając Menedżer zadań.

Potem, magicznie, kiedy otworzyłem mój projekt VB 6, aby pokazać mojemu przyjacielowi programiście, jaki był POS ten projekt, wszystkie kontrolki wróciły, połączone zgodnie z oczekiwaniami. Jakoś coś zostało zarejestrowane lub naprawione.

 2
Author: Kay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-28 20:52:01

Właśnie dzisiaj miałem (wątpliwą) przyjemność uruchomić kod VB6 na Windows / 64 Bit. Natknąłem się na ten wątek, ale żadne z proponowanych rozwiązań nie zadziałało na mnie. Nie udało się też dodawać referencji za pomocą "Project - > References..."menu.

Aby go uruchomić, musiałem ręcznie zmodyfikować plik projektu VB6 (*.vbp). Dla wszystkich bibliotek, z którymi miałem problem z ładowaniem, musiałem użyć następującej notacji, aby zdefiniować jako odniesienie: Obiekt={Klucz Rejestru} # Wersja # 0; Biblioteka.OCX Przykład: Obiekt = {FAEEE763-117E-101B-8933-08002B2F4F5A}#1.1#0; DBLIST32.OCX

Nie musiałem rejestrować żadnej z bibliotek (używając regsvr32), wszystkie były już poprawnie zarejestrowane. Domyślam się, dlaczego moje rozwiązanie działa, jeśli " object={[...] "używana jest notacja (zamiast" Reference= * \G{[...] "notacja) VB Studio używa tylko klucza rejestru i zostaje zakorzenione w C:\Windows\SysWOW64 podczas gdy w drugą stronę kończy się spojrzenie w C:\Windows\System32

Przy okazji, IE11 jest zainstalowany. Czy to ma znaczenie, czy nie, tylko Bill G może wiedzieć. Domyślam się, że moje rozwiązanie działa niezależnie od tego, który IE jest zainstalowany. Być może będziesz musiał wyrejestrować i zarejestrować brakujące biblioteki, jak wspomniano w tym wątku.

Nadzieję, że to pomoże każdemu, kto ma podobne problemy.

 1
Author: Chris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-19 13:56:36

Otwórz Edytor rejestru używając polecenia Uruchom regedit.

Zlokalizuj klucz HKEY_CLASSES_ROOT\TypeLib, a następnie wyszukaj "MSCOMCTL.OCX " i usunął każdy klucz, który się do tego odwoływał .plik ocx.

Otwórz wiersz polecenia (cmd) w trybie administratora. Wpisz następujący kod,

W maszynie 32-bitowej,

cd c:\Windows\System32
regsvr32 MSCOMCTL.OCX
regtlib msdatsrc.tlb
regsvr32 MSCOMCT2.OCX

W maszynie 64-bitowej,

cd c:\Windows\SysWOW64
regsvr32 MSCOMCTL.OCX
regtlib msdatsrc.tlb
regsvr32 MSCOMCT2.OCX
 1
Author: Codemaker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-09 13:17:24

PROSTE ROZWIĄZANIE

  1. Utwórz nowy pusty projekt i zapisz go
  2. za pomocą Notatnika otwórz .VBP nowego projektu i skopiować linię MSCOMCTL
  3. za pomocą Notatnika otwórz .Plik VBP twojego projektu
  4. zastąp linię MSCOMCTL i zapisz ją

Zrobione

Powodzenia

 0
Author: A.Wahi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-28 12:33:41

Miałem problem, że VB6 IDE nie ładuje common controls (Sp6)z instalacją VB6 na W7 64bit, a konkretnie comctrl i msmask. Wypróbowałem wszystkie rozwiązania zaproponowane przy użyciu regsrv32( elevated), edytowałem rejestr, zmieniałem numer wersji w vbp itp jak proponowali MS i inni. Wszystkie zawiodły. Te rozwiązania działały na moich pozostałych 2 komputerach, ale nie na tym. W końcu usunąłem IE11 i wszystko działało poprawnie później. IE10 nigdy nie zainstalowal bene na thsi PC - poszlismy prosto z IE8 do IE11 i zostały zmuszone do cofnięcia się do używania IE8.

Muszę powiedzieć, że powyższe proste rozwiązanie nie rozwiązuje problemu, który polega na tym, że VB6 IDE nie załaduje wspólnych kontrolek ( używając wyboru menu komponentów pod projektem) - pojawia się błąd mówiący, że obiekt nie załadowany. Tak się stanie (i sam to sobie udowodniłem) na każdym projekcie, nowym lub starym, który próbuje użyć wspólnych kontrolek, które nie będą się ładować.

Więc moja propozycja dla każdego, kto ma ten problem jest aby wypróbować rozwiązanie rejestru ręcznego za pomocą trasy regsrv32, następnie Edytuj vbp, aby zmienić wersję, a jeśli te nie odinstalować IE11 (i zdecydowanie IE10). Ale to nadal może nie być 100% rozwiązanie, ponieważ jeśli istniejące pliki projektu".vbp " zawiera odniesienia do niewłaściwych typowych kontrolek, które musisz poprawić ręcznie - To jest miejsce, w którym ładuje się nowy projekt, ładuje potrzebne komponenty wewnątrz IDE, a następnie edytuje nowo utworzony VBP za pomocą Notatnika i kopiuje numery wersji dla wspólne kontrolki dla istniejących plików vbp.

 0
Author: AlexKen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-08 13:48:08

= > tylko to co powiedział jay po prostu usuń te wpisy rejestru, które wskazują na inne ścieżki niż na c:\windows\system32.To są sprawcy błędu.Mam te błędy na moim VB6 IDE i po usunięciu tych anomalnych wpisów rejestru problem został rozwiązany. działa jak urok.

 0
Author: Cristian Hernandez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-02 01:11:04

Uważam, że może to być związane z problemem, w którym Microsoft wydał aktualizację do MScomCtlLib, która została nieprawidłowo załatana przez microsoft, powodując błędy rejestru.

Wierzę, że jeśli zastosujesz się do rad podanych w:

Https://support.microsoft.com/fr-fr/kb/2597986

 0
Author: OGUER,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-29 14:24:47

Dostaję ten sam problem, ale otrzymywałem błąd poniżej błędu podczas uruchamiania regsvr32 MSCOMCTL.OCX

Moduł " MSCOMCTL.OCX " został załadowany, ale wywołanie DllRegisterServer nie powiodło się z kodem błędu 0x8002801c.

Kiedy uruchamiam CMD.EXE jako Administrator, a następnie rozwiązał mój problem.

Kilka razy VB6.EXE również trzeba o uruchomić jako administrator, aby uzyskać dostęp do niektórych problemów rejestru.

Powodzenia.

 0
Author: KalimR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-19 10:06:25

Miałem ten sam problem z uruchomieniem windows 7-64 z VB6. Próbowałem powyższych rozwiązań wyrejestrowania i ponownej rejestracji, ale nie rozwiązało to problemu. Następnie zauważyłem, że w moich komponentach VB6 miałem odniesienia do Microsoft Windows Common Controls -2 6.0 (SP6) i Microsoft Windows Common Controls -3 6.0 (SP5). Usunąłem odniesienie SP5 i wszystko działa teraz OK. Wydaje się, że -2 6.0 SP6 zastępuje -3 6.0 (SP5) i gdy oba są obecne, istnieją dwa odniesienia do tej samej kontroli. Hope this pomaga. Steve

 0
Author: Steve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-23 12:09:31

Moim rozwiązaniem było zastąpienie MSCOMCTL.OCX na Windows 10 box z jednym z Windows 7 box, który również miał zainstalowany MS Access. Z jakiegoś powodu istnieją różne MSCOMCTL.Kontrolki OCX 2.0 o tej samej nazwie.

Wiem, że to brzmi szalenie, i może nie pomóc nikomu innemu, ale uratowaliśmy ten MSCOMCTL.OCX z plikiem readme i za każdym razem naprawiał nasze nowe błędy instalacji.

Wyrejestrowujemy bieżący MSCOMCTL.OCX, który przyszedł z Windows 10 box, usuń go i zarejestruj stary, który uratowaliśmy.

 0
Author: JustJohn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-27 22:58:28