MSComctlLib TreeCtrl2 & Win10 | |
---|---|
Ihor Shaniuk Автор Сообщений: 1 Дата регистрации: 25.07.2021 |
Приложение, которое нормально работало на Win7, перестало работать после переноса на Win10.
Очевидно, проблема в использовании TreeCotrl библиотеки MSCOMCTL в одной из форм для отображения древовидной структуры. Может кто-нибудь подсказать, как восстановить работоспособность под десяткой? UPD. Проблема решилась следующим образом: 1. Из Win7, из папки Windows\sysWOW64 была взят файл mscomctl.ocx и скопирован в соответствующую папку на машине с Win10. 2. Далее, в Win10 в папке Windows\sysWOW64 была открыта консоль с правами администратора, и OCX был зарегистрирован командой > regsvr32 mscomctl.ocx Исправлено 1 раз(а). Последнее : Ihor Shaniuk, 25.07.21 16:29 |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
Sergey_K Сообщений: 15 Дата регистрации: 07.05.2018 |
Добрый день, уважаемые коллеги.
Есть возможность использования mscomctl.ocx (или замена) для для версии - VFP Advanced (x64)? Поделитесь опытом. Спасибо. |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
dimuhametov Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
вроде из бесплатного нет ничего ------------------ Незнание делает жизнь такой интересной. |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
Каратаев Сообщений: 3977 Откуда: Алматы Дата регистрации: 04.12.2001 |
Вот здесь написано, как можно использовать mscomctl.ocx на 64-х разрядных системах. Правда сам не проверял...
all-freeload.net ------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Фигня там написана. Без разницы, где валяется .ocx. В момент регистрации в реестре прописывается путь к конкретному экземпляру библиотеки (к тому, который указан в параметрах при регистрации). PS. И да, более 64-разрядной библиотека не становится от перемещения по папкам. Исправлено 1 раз(а). Последнее : pasha_usue, 28.07.21 17:17 |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
Каратаев Сообщений: 3977 Откуда: Алматы Дата регистрации: 04.12.2001 |
Суть же не в этом... Главное, что её можно использовать в VFP Advanced (x64) Или я чего-то не понял? ------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Технология 64-битных ОС пока что еще разрешает использование 32-битных библиотек и плагинов (хотя уже ходят слухи, что однажды таки уберут их поддержку, как убрали поддержку 16-битных).
Естественно, такое использование возможно только с известными ограничениями на использование памяти. И связанными с этим несколько большими тормозами в работе, нежели использование их 64-битных аналогов. Это правило действует для подавляющего числа 64-битных приложений. За редкими исключениями там, где важно именно количество используемой памяти. Поэтому мне кажется особых проблем в VFP Advanced (x64) с использованием 32-битных библиотек тоже не должно быть. Разве что это будет работать возможно медленнее, чем работали бы их 64-битные аналоги. Если таковые есть. Проверить все это в принципе легко - любому желающему. Просто у меня например сейчас нет ни необходимости ни желания чем-то таким заниматься. Немного непонятно, почему автор вопроса не попробовал сам все это проделать и написать о результатах тестирования, положительных или отрицательных. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) Исправлено 2 раз(а). Последнее : Crispy, 29.07.21 09:18 |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
dimuhametov Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
В VFP Advanced (x64) mscomctl.ocx возвращает ошибку регистрации класса. Так что использовать никак не получится. ------------------ Незнание делает жизнь такой интересной. |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Нельзя спроецировать 32-разрядную dll в 64-разрядный процесс. У них тупо разные дескрипторы памяти. Причём обходной манёвр он прямо на поверхности лежит, надо поднять ещё один 32-х разрядный процесс и наладить взаимодействие между двумя процессами разной разрядности. Например, COM-объекты 32х можно с небольшими танцами подключить к приложению 64х. Но для ActiveX я пока такого не видел. |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
Sergey_K Сообщений: 15 Дата регистрации: 07.05.2018 |
Спасибо большое за участие.
Значит нужно заканчивать использовать mscomctl.ocx. Ещё раз спасибо. |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
leonid Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Этого и не надо. VFP Advanced (x64) по любому запускает 32-х разрядный фоксовский рантайм. Из него полключиться к 32-х разрядному OCX не должно представлять никаких проблем. Заслуга Чена именно в том, что он сделал возможным подключение к 64-х разрядным OCX. |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
Sergey_K Сообщений: 15 Дата регистрации: 07.05.2018 |
Увы, пока ничего не получается. Вот ошибка -
Microsoft Visual FoxPro Advanced (x64) OK Cancel OLE error code 0x80040154: Class not registered. OLE object is being ignored. Record number 21. В 21 строке в поле Ole2 значение - OLEObject = C:\Windows\SysWOW64\mscomctl.ocx |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
ocx зарегистрирован в реестре? regsvr32 нужно из консоли запущенной "As Administrator" выполнять. Можно проверить в реестре - есть записи с соответствующим ProgId (HKEY_CLASSES_ROOT\MSComctlLib.TreeCtrl) и правильно ли соответствующая CLSID ветка (HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{C74190B6-8589-11D1-B16A-00C0F0283628}\InprocServer32) на эту ocx указывает.
Путь в scx файле не существенен - он, вероятно, используется во время разработки, но не во время выполнения (т.к. на машине клиента путь к ocx, конечно же, может отличаться от такового на машине разработчика). ------------------ WBR, Igor |
Re: MSComctlLib TreeCtrl2 & Win10 | |
---|---|
Vedmak Сообщений: 5967 Откуда: CiTY Дата регистрации: 30.10.2003 |
\ регать либы из среды разработки вместе с приложением.... уже лет десять как надо. MS давно уже свое перелопатил в офисных и прочих пакетах. Наш Runtime и OCX таскаем с собой. ------------------ Говорить стоит лишь для тех, кто слушает. |
© 2000-2024 Fox Club  |