Определить, что объект изменен

MapInfo, MapBasic
Ответить
spawner
Активный участник
Сообщения: 103
Зарегистрирован: 09 окт 2009, 16:49
Репутация: 10

Определить, что объект изменен

Сообщение spawner » 25 мар 2021, 15:01

А есть какой-то способ в mapbasic определить, что выбранный объект был изменен? (например сдвинут)
Т.е. я двигаю точку и сразу после завершения сдвига мне нужно вызвать процедуру.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Определить, что объект изменен

Сообщение Boris » 01 апр 2021, 00:53

Да, тут не один вопрос, а целый десяток. Угадать, что именно вам нужно, не просто.
Очевидные ответы:
1. при изменении любого 1-го объекта в таблице, она получает атрибут "подвергшаяся редактированию".
2. при сдвиге меняется центроид объекта - он храниться в таблице мапинфо в явном виде, как скрытый атрибут, который может быть выведен на экран. при сдвиге пересчитывается автоматически.
3. после сдвига набо Selection не меняется - так, что объект доступен в том же самом запросе.
4. в mapbasic, не знаю как в новомодном python-е Mapinfo 17 и далее, есть "события" при работе с окном карты. Посмотрите какая их комбинация может вам подойти, если речь шла об автоматической реакции, на сдвиг. Но, я бы крайне не рекомендовал использовать "события" в Mapinfo - это очень давно заброшенные разработчиками возможности. Все постобработку вешают на кнопки или меню правой клавиши.

juffin_h
Завсегдатай
Сообщения: 265
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 49
Откуда: Нижний Новгород

Re: Определить, что объект изменен

Сообщение juffin_h » 01 апр 2021, 09:58

Раньше события работали хорошо. Думаю есть смысл попробовать. Главное, чтобы нашлось подходящее.

Аватара пользователя
ginpetr
Завсегдатай
Сообщения: 374
Зарегистрирован: 21 июн 2011, 12:07
Репутация: 139
Откуда: Орск
Контактная информация:

Re: Определить, что объект изменен

Сообщение ginpetr » 03 апр 2021, 19:36

не, Boris прав насчёт осторожности с событиями. У меня как раз на версиях, теперь считающихся старыми, использование событий резко увеличивало количество вылетов программы (не утилиты а всей Mapinfo).

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей