Konflikt bibliotek DLL w InTouch`u 7.0
Transkrypt
Konflikt bibliotek DLL w InTouch`u 7.0
INFORMATOR TECHNICZNY WONDERWARE Informator Techniczny nr 35 24-05-1999 Konflikt bibliotek DLL w InTouch’u 7.0 Opis problemu Konflikt bibliotek DLL pojawia się w przypadku zainstalowania InTouch 7.0 i najnowszych wersji bibliotek: MFC42.DLL i MSVCRT.DLL, wersja 6.x. Najnowsze wersje tych bibliotek są instalowane z takimi aplikacjami jak Microsoft Office 2000, Microsoft Visual Studio 6.0 (zawiera: Visual C++, Visual Basic, Visual J++, Visual InterDev i Visual FoxPro). UWAGA! Nie ma Ŝadnego konfliktu w bibliotekach DLL z mającym się pojawić InTouch’u w wersji 7.1 poniewaŜ InTouch 7.1 jest kompilowany przy pomocy Microsoft Visual C++ 6.0. Wyjaśnienie problemu Konflikt bibliotek w InTouch’u 7.0 (WindowMaker i WindowViewer) wynika ze zmian poczynionych przez Microsoft w bibliotekach MFC42.DLL i MSVCRT.DLL. Pomimo pojawienia się szeregu Service Paków dla Visual Studio 6.0, które rozwiązywały niektóre problemy szereg konfliktów dalej pozostaje. PowyŜsze zmiany powodują błędne działanie oprogramowania równieŜ innych dostawców. Rozwiązanie Upewnij się, Ŝe biblioteki zainstalowane na komputerze, na którym jest uruchamiany InTouch 7.0 mają następujące wersje MFC42.DLL wersja 4.21.7160 i MSVCRT.DLL wersja 5.00.7303. Biblioteki znajdują się w kartotece System32 w przypadku Windows NT i w kartotece System w przypadku Windows 95/98. W przypadku zainstalowania na tym samym komputerze Microsoft Office 2000, Microsoft Visual Studio 6.0 lub innego programu uŜywającego nowych wersji (6.0) bibliotek DLL postępuj według poniŜszej instrukcji: Aby uzyskać dostęp do wcześniejszych wersji bibliotek zainstaluj InTouch 7.0 na komputerze na którym nie ma nowych wersji tych bibliotek w kartotece System32. UWAGA! Reinstalacja InTouch 7.0 na komputerze gdzie są juŜ nowe wersje bibliotek nie dokona podmiany plików. Następnie przekopiuj pliki MFC42.DLL, w wersji 4.21.7160, i MSVCRT.DLL, w wersji 5.00.7303, na pierwszy komputer do kartoteki InTouch’a. Domyślnie InTouch jest instalowany w kartotece C:\Program Files\FactorySuite\InTouch. Uaktualnij zmienną Path 1 tak aby w ścieŜce znalazł się równieŜ katalog w którym zainstalowano InToucha np: C:\Program Files\FactorySuite\InTouch. 1 W przypadku Windows 95/98 modyfikacji zmiennej środowiskowej Path dokonuje się w pliku autoexec.bat. W przypadku Windows NT naleŜy kliknąć prawym klawiszem myszki na ikonie Mój komputer, wybrać zakładkę Właściwości, a następnie zakładkę Środowisko i z listy rozwijalnej Zmienne systemowe wybrać zmienną Path. W polu Wartość kartotekę InTouch po kartotece %SYSTEMROOT% rozdzielając je średnikiem. ASTOR Sp. z o.o. Dział Oprogramowania Przemysłowego ul. Smoleńsk 29, 31-112 Kraków tel.: 012 428-63-30 fax: 012 428-63-09 e-mail: [email protected] http://www.astor.com.pl PowyŜsze czynności pozwolą InTouch’owi na odczytywanie poprawnych wersji bibliotek MFC42.DLL i MSVCRT.DLL z kartoteki InTouch’a, pozwalając jednocześnie pozostałym aplikacjom na uŜywanie najnowszych wersji bibliotek (wersja 6.0) z kartoteki Windows’owej. UWAGA! PowyŜsze rozwiązanie nie było oficjalnie testowane przez dział Quality Assurance firmy Wonderware, jednakŜe dział wsparcia technicznego (Technical Support) sprawdził poprawność działania takiej konfiguracji. W przypadku jednak stworzenia dodatków dla InTouch’a (np. ActiveX) przy pomocy Visual Studio 6.0 dodatki te nie będą działały jeŜeli starsze wersje bibliotek zostaną wkopiowane do kartoteki InTouch’a poniewaŜ to te biblioteki zostaną wczytane z kartoteki roboczej (czyli kartoteki InTouch’a) przed poszukiwaniem ich w katalogach systemowych. Rozwiązaniem jest statyczne powiązanie własnego projektu z bibliotekami MFC. 2