Wstęp
Sierpień nie jest łaskawy dla programistów Access-a, tym razem dzięki poprawce opisanej
w artykule: 2597986 MS12-060: Description of the security update for Office 2010, wszyscy którzy używają tytułowych kontrolek będą mieć z nimi problem.
Opis problemu
Ja osobiście używam kontrolki Toolbar i to ona była przyczyną intensywnego poszukiwania rozwiązania. Symptomy to:
1. Komunikat “W tym formancie nie umieszczono żadnego obiektu”
2. Toolbars był widoczny na formularzu, ale nie reagował na żadne akcje myszką
3. Komunikat o blędnej procedurze zdarzenia, przy MouseMove
Wszystkie występowały niezależnie.
Rozwiązanie
Wszystkiemu winna jest nowa wersja kontrolki Mscomctl.ocx 6.01.9834, a raczej brak jej kompatybilności wstecz.
Rozwiązanie to ponowna rejestracja w systemie:
regsvr32 /u mscomctl.ocx regsvr32 /u mscomctl.ocx
Niestety to czasami nie pomaga, wtedy trzeba usunąć z rejestru z klucza HKCR\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1} wszystkie pod-klucze, u mnie to 2.0 i 2.1.
Uwaga! Modyfikowanie rejestru to nie jest bezpieczna sprawa, może wpłynąć na poprawność działania całego systemu, jeżeli skorzystasz z rozwiąznia powyżej, robisz to na własna odpowiedzialność…
Podsumowanie
Bardzo dużo nerwów straciłem na rozwiązanie tego problemu, w efekcie przy pomocy AutoIt, stworzyłem prostego exec-a, który za mnie wykonuje opcje naprawy, dzięki temu nie mam problemu z wersją systemu 32/64 bit, a umieszczony w Internecie pozwala telefonicznie rozwiązać problem użytkownikowi.
#RequireAdmin RegDelete("hkcr\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0") RegDelete("hkcr\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.1") RunWait('regsvr32 /u MSCOMCTL.OCX', @SystemDir) RunWait('regsvr32 MSCOMCTL.OCX', @SystemDir)
Mam windows7 x64bits i problem ten o którym u Ciebie czytałem.Nie jestem fachowcem ale zwykłym użytkownikiem.Proszę o pomoc w tej sprawie.Piszesz o sprytnym rozwiązaniu jakie wykonałeś.Czy mógłbyś podzielić się ze mną tym plikiem(stworzyłem prostego exec-a, który za mnie wykonuje opcje naprawy, dzięki temu nie mam problemu z wersją systemu 32/64 bit, a umieszczony w Internecie pozwala telefonicznie rozwiązać problem użytkownikowi.)Pozdrawiam
Rysiek
Zaktualizowałem post, zachęcam do pobrania autiit, w końcu cały skrypt imieszczony jest w poście, tworzenie exec-a to wtedy formalność, a program jest za darmo… fix.exe
Dzięki!! Odpaliłem fix.exe i wszystko działa!
Dzięki wielkie za szybką reakcje.Niestety nie pomogło.Nadal wyskakuje ten sam komunikat-
RegSvr32
Nie można załadować modułu”MSCOMCTLOCX”
Upewnij się że plik binarny jest przechowywany w określonej ścieżce lub zdebuguj go,aby sprawdzić czy występują problemy z plikiem binarnym lub zależnymi bibliotekami DLL
Nie można odnaleźć określonego modułu.
Nie mam szarego pojęcia co robić.Przeszkadza mi brak tego ustawienia ponieważ korzystam z Flack Frontend do konwersji i właśnie wówczas ujawnia się ten problem .
Pozdrawiam.
PS
Może da się to jakoś wyprostować?
Upewnij się, ze masz mscomctl.ocx w systemie dostępne w lokalizacji zmiennej systemowej PATH.
Panel sterowania\System i zabezpieczenia\System-> Zaawansowane ustawienia systemu
zakładka zaawansowane-> przycisk Zmienne środowikowe
i w zmiennych systemowych zmienna PATH
Dzięki.Szacunek i czapki z głów Panowie i piękne Panie!!
Jesteś wielki.Bardzo miło było poznać.Udało się właśnie przed chwilką.Poprostu dodałem inną wersje tego cholerstwa do katalogu Sys WOW 64 pliku MSCOMCTL.OCX(wersja 6.01.97.82)
Oczywiście fix zadziałał bez problemu.