|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как организовать событие "Закончилась минута"?
LISP-программист
Тутэйшы
Регистрация: 25.08.2003
Сообщений: 238
|
||
Просмотров: 8205
|
|
||||
Машиностроение, Проектирование Регистрация: 15.09.2003
Москва
Сообщений: 1,113
![]() |
Вводится по-минутная оплата?
![]() В эту минуту, полагаю, пользователь что-то делает (работает, чертит, смотрит)? |
|||
![]() |
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Цитата:
Цитата:
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
![]() |
|
||||
Сообщений: n/a
|
Как вариант от зависания можно попробовать в цикл добовлять (command "DELAY" 5000), хотя едва ли это поможет. Я знаю что при програмировании Win приложений можно создавать таймер и по прошествии необходимого времени система сама шлет сообщение. Но как это сделать на лиспе?. Может из VBA имеется возможность?
|
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Цитата:
И в DOSе прерывание по таймеру было доступно. Но не в AutoCAD... VBA - увы - не знаю.
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
![]() |
|
||||
Сообщений: n/a
|
А что если добавить лисп-функцию из ARX, а в ней получив из лиспа требуемый промежуток времени ожидать сообщения таймера, а потом возвращать значение в лисп? Интерестно будет ли такая конструкция подвешивать систему или вообще работать? В принципе, для знающего человека, такая функция раз плюнуть. Дело за малым: найти такого человека.
|
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Подниму тему, ибо проблема хотя и потеряла свою срочность, но по-прежнему не решена.
Эдуард, Ваше предложение привязаться к реактору команд не подходит. Функция отклика должна периодически выполняться независимо от того, делает пользователь что-либо или просто тупо смотрит в монитор. А может он курить пошел? Или (учитывая новогоднюю специфику) уже под елкой лежит?
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
![]() |
|
||||
Регистрация: 21.08.2003
Штаб
Сообщений: 943
![]() |
Задать автосохранение рисунка раз в минуту (переменная savetime).
Прицепить к рисунку реактор vlr-beginSave. Если рисунок большой, то сохранение раз в минуту будет сильно напрягать пользователя. Тогда создаем временный пустой рисунок temp.dwg и цепляем реактор на него. А сами переключаемся в рабочий рисунок. Вот только не проверял, будет ли такая схема работать. Чтобы пользователь ручками не менял переменную, цепляем реактор vlr-sysVarWillChange. И при изменении переменной savetime меняем ее обратно. |
|||
![]() |
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Цитата:
Цитата:
Т.е. переменная устанавливается для ВСЕХ рисунков и автоматически сохраняться будут тоже ВСЕ и "если рисунок большой, то сохранение раз в минуту будет сильно напрягать пользователя".
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
На уровне идеи (возможно бредовой): внешний EXE-шник, добавленный в автозагрузку винды, ищет открытые сеансы АКАД, в них ищет чертежи с неким "контрольным" примитивом, модифицирует этот примитив... Ну а реактор, прицепленный к этому же примитиву, запускает какую надо функцию. Нет в чертеже "контрольки" - нет и запуска функции.
|
|||
![]() |
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Цитата:
Если Вы будете так любезны и вышлете "вариант" - буду благодарен...
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
![]() |
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Ящик kos@ring.by прекратил свое существование.
Внизу моих сообщений есть кнопочка "E-mail". Там все и написано...
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
>kos
А нельзя ли поподробнее о глобальной задаче с "поминутной тарификацией"? Не будучи специалистом в ObjectARX (да и вобще я не профи в программировании), попробовал сделать вот что. Это только наброски, хотя, работает для одного сеанса АКАД и одного чертежа.... Чтоб не ждать минуту, сделал паузу 10 секунд. Лисп, который будет отрабатываться в чертеже (файл timeout.lsp в корне диска С: ): Код:
Код:
|
|||
![]() |
|
||||
промышл проектант Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 323
|
Хотел бы поднять тему.
Есть потребность выполнять функцию с интервалом в n милисекунд. Описанное выше проблему не решает. Предложение с использованием библиотеки arx и импортом функции в лисп мне кажется решит проблему. Если есть бибилиотека - выложите ее, пожалуйста. Возможно есть иное решение? Upd. кому интересна библиотека с Delay. http://www.caduser.ru/forum/index.ph...#message257395 Последний раз редактировалось Diman111, 15.03.2009 в 20:19. |
|||
![]() |