|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
На windows7 x64(!) в ACad2012rus не работает VBA приложение для копирования текста.
Минск
Регистрация: 28.01.2013
Сообщений: 375
|
||
Просмотров: 3172
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Праальна! Ибо писать приложения надо уже с учетом двух вариантов разрядности: http://adn-cis.org/forum/index.php?topic=111.0
Кроме того, в 64-разрядных AutoCAD'ах есть свойство ObjectID, и есть свойство ObjectID32. Так что код переписывать либо разрабатывать отдельную функцию для получения ObjectID (кстати, лично я так бы и делал).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 28.01.2013
Минск
Сообщений: 375
|
Цитата:
А вообще в планах было разобраться в коде и из всей программы с пользовательской формой оставить маленькую функцию которая заносит в буфер обмена код для поля... Либо чтоб в 2 клика создавалось поле в атрибуте дблока со ссылкой на другой блок... А тут пришла беда, откуда не ждали.. |
|||
![]() |
|
||||
Регистрация: 28.01.2013
Минск
Сообщений: 375
|
Не особо разбираясь в VBA, но проанализировав аналогичные программы number и numberx64, выяснил, что между ними различие только в свойстве ObjectID.
По аналогии заменил в программе textduplicate заменил все свойства ObjectID на ObjectID32, а также свойство ObjectIDToObject на ObjectIDToObject32 соответственно. Программа заработала, но некорректно. При попытке копировать в поле, выдает неверный objID: Как должно быть: Как выдает: %<\AcObjProp Object(%<\_ObjId 8796087802800>%).TextString>% %<\AcObjProp Object(%<\_ObjId 45>%).TextString>% %<\AcObjProp Object(%<\_ObjId 8796087802512>%).TextString>% %<\AcObjProp Object(%<\_ObjId 47>%).TextString>% %<\AcObjProp Object(%<\_ObjId 8796087802560>%).TextString>% %<\AcObjProp Object(%<\_ObjId 161>%).TextString>% Как результат неверного поля получаю после выполнения кучу решеток. А при попытке копировать(занести в буфер) такое поле выдает фатал эррор. Уважаемые Гуру, подскажите пожалуйста, как же все-таки заставить эту сверхполезную програмку работать на х64? Или же придется переустанавливать систему? |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
LISP. Выравнивание текста по двум точкам. | Krieger | Готовые программы | 10 | 24.12.2011 16:02 |
Как работает автокад в windows7 на планшетном компьютере? | dextron3 | Прочее. Программное обеспечение | 36 | 04.12.2011 09:22 |
внешнее приложение не работает... | Visla | AutoCAD | 1 | 05.02.2004 17:33 |