Форум пользователей ПО АСКОН

Профессиональные вопросы => Программирование приложений => Тема начата: bbb от 07.03.17, 09:11:48

Название: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: bbb от 07.03.17, 09:11:48
Просто пытаюсь получить ISpecificationTuning и если библиотеку скомпилить под 64бит, то работает нормально, а если под 32, то значение получить не удается возвращает nil, вот код:

pSDesc:=pDoc.SpecificationDescriptions.Active;//
isT:=ISpecificationTuning(pSDesc.SpecificationTuning);  //// тут если библиотека 64 то все нормально, если 32 то isT:=nil

Почему так происходит и что с этим можно сделать?
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: bbb от 07.03.17, 15:20:43
Windows x64 в обоих случаях
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: Sabahs от 07.03.17, 15:26:34
Я так понимаю, что компьютеры разные?
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: bbb от 07.03.17, 15:42:37
Цитата: Sabahs от 07.03.17, 15:26:34
Я так понимаю, что компьютеры разные?
да конечно, на одном Компас х32, на другом Компас х64

дополню:
такая строка spec.ksSetObjParam(bObject.Reference,par,ALLPARAM);
в х64 работает нормально, а в х32 Компас падает
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: Sabahs от 07.03.17, 15:47:28
Создайте папку Bin_x86 на Компас-3D x64 и скопируйте в неё содержимое папки Bin Компас-3D x86.
Запустите из папки Bin_x86 Компас, можно через отладчик, я думаю 99% всё будет работать.
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: bbb от 07.03.17, 15:53:22
Цитата: Sabahs от 07.03.17, 15:47:28
Создайте папку Bin_x86 на Компас-3D x64 и скопируйте в неё содержимое папки Bin Компас-3D x86.
Запустите из папки Bin_x86 Компас, можно через отладчик, я думаю 99% всё будет работать.

На Компас х64 работает. Не работает на компьютере где установлен Компас х32, не понял зачем записывать папку Bin_x86 на компьютер с Компас x64...
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: Sabahs от 07.03.17, 15:55:30
Затем, чтобы проверить платформу x86.
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: bbb от 07.03.17, 16:00:00
Цитата: Sabahs от 07.03.17, 15:55:30
Затем, чтобы проверить платформу x86.
Да работает. И что делать? У заказчика Компас х86
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: Sabahs от 07.03.17, 16:01:17
У заказчика нормально Компас установить.
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: bbb от 07.03.17, 16:03:23
Цитата: Sabahs от 07.03.17, 16:01:17
У заказчика нормально Компас установить.
Это как? Подскажите в каком направлении смотреть?

UPD: Проверил, Компас не падает, но и работает библиотека не так как в x64, в спецификации сгруппированные объекты отличаются (первый компонент в группе разный в разных версиях)
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: Sabahs от 07.03.17, 16:07:59
Попробовать сделать перерегистрацию компонентов Компаса.
http://forum.ascon.ru/index.php/topic,27301.msg204118.html#msg204118 (http://forum.ascon.ru/index.php/topic,27301.msg204118.html#msg204118)
Если не поможет, возможно есть хвосты старых версий, удаление всего, чистка реестра и установка заново.
Название: Re: Один код работает по разному в 32 и 64 бит версиях библиотеки
Отправлено: bbb от 14.03.17, 14:02:46
Цитата: Sabahs от 07.03.17, 16:07:59
Попробовать сделать перерегистрацию компонентов Компаса.
http://forum.ascon.ru/index.php/topic,27301.msg204118.html#msg204118 (http://forum.ascon.ru/index.php/topic,27301.msg204118.html#msg204118)
Если не поможет, возможно есть хвосты старых версий, удаление всего, чистка реестра и установка заново.

Установил в виртуалку КОМПАС х32, т.е. там не было никаких предыдущих установок. КОМПАС падает :(   (isT:=nil)