|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Большие паузы между последовательными обращениями к объектной модели автокада (2010).
Продуман
Питер
Регистрация: 22.02.2007
Сообщений: 2,839
|
||
Просмотров: 3513
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,383
|
VBA, по-быстрому и коряво. Улучшай сам
![]() Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Алексей - большая просьба (я VB толком не знал, да еще и забыл), ИХМО здесь все то-же самое:
Код:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Вобщем как ни крутил - tagstring и textstring "снаружи", если несколько аттрибутов, обрабатываются долго (в 2010 по крайней мере), а у тех-же аттрибутов handle, например, - моментально. Пришлось DCL (динамический) "прикрутить", уж больно com, в этом случае, не удобно регестрировать (изначально хотел внешним exe ограничиться который к acad'у обращается).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 11.10.2010
Сообщений: 979
|
Дима_, у тебя явно что-то не то с алгоритмом. Посмотри - я в GetBlockAttrByBlockName_LateBind указатель и на приложение, и на документ создаю всего один раз. Попробуй делать это снаружи, и передавать в качестве параметров в свою функцию (например, ByRef).
Мне как-то слабо верится, что подобное сделать невозможно... |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Я же говорю - что, например, handle тех-же аттрибутов "достается" мгновенно - алгоритм - полный аналог лиспа в 1 посте - то есть все "предобьекты" создаются один раз.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |