Страница 1 из 2

Перейти по заданным координатам извне

СообщениеДобавлено: 08 июл 2015, 14:32
ladvip
Как приказать SAS-у перейти по заданным координатам из другой программы, или из командной строки. Я пишу прогу на Delphi и хочу внедрить в неё сохранение координат, а SAS будет использоваться как просматровщик.

Re: перейти по заданным координатам из вне

СообщениеДобавлено: 08 июл 2015, 14:55
zed
ladvip писал(а):Как приказать SAS-у перейти по заданным координатам из другой программы

Послать сообщение WM_COPYDATA с соответствующим содержанием. Про фичу можно почитать в багтрекере http://www.sasgis.org/mantis/view.php?id=1869 и посмотреть на реализацию в сорцах SAS-а - тестовая утилитка лежит в папке /Test/TestWMCopyData/.

Re: перейти по заданным координатам из вне

СообщениеДобавлено: 23 сен 2015, 11:57
echo
В дополнение темы, может кому пригодится: можно использовать запуск приложения с параметром
"C:\SAS.Planet\SAS.Planet.Nightly.150920.9091\SASPlanet.exe --map={F6574B06-E632-4D5F-BC75-C8FA658B57DF} --zoom=19 --move=(37.574999,55.776213)",
Тут ключ --move указывавает координаты перемещения, но пожалуй через WM_COPYDATA было бы правильнее чтоли, тут уж смотря из какого приложения.

Re: перейти по заданным координатам из вне

СообщениеДобавлено: 25 сен 2015, 21:03
GREEN
Под эту фичу только перехватчика ссылок недостает, чтобы при нажатии ссылки на GOOGLe в браузере или скажем скайпе, она ткрывалась в SASe.

Re: перейти по заданным координатам из вне

СообщениеДобавлено: 26 сен 2015, 05:44
Parasite
ladvip писал(а):из вне

Из кого?? :facepalm:

Re: перейти по заданным координатам из вне

СообщениеДобавлено: 20 окт 2015, 14:49
Johnson
echo писал(а):В дополнение темы, может кому пригодится: можно использовать запуск приложения с параметром
"C:\SAS.Planet\SAS.Planet.Nightly.150920.9091\SASPlanet.exe --map={F6574B06-E632-4D5F-BC75-C8FA658B57DF} --zoom=19 --move=(37.574999,55.776213)",
Тут ключ --move указывавает координаты перемещения, но пожалуй через WM_COPYDATA было бы правильнее чтоли, тут уж смотря из какого приложения.

А может кто-нибудь подсказать где можно глянуть полный список параметров, с которыми можно запускать САС?

Re: перейти по заданным координатам из вне

СообщениеДобавлено: 20 окт 2015, 15:30
vdemidov
Johnson писал(а):А может кто-нибудь подсказать где можно глянуть полный список параметров, с которыми можно запускать САС?

Самое надежное место - исходники САС. u_CmdLineArgProcessor.pas

Re: перейти по заданным координатам из вне

СообщениеДобавлено: 20 окт 2015, 16:35
Johnson
Ага, спасибо, почти разобрался, кроме одного: не могу отработать --insert-placemark. Может кто увидит сходу ошибку в коде? (в генетическом всё норм ;) ) Вот это пихаю в консоль
Код: Выделить всё
D:\SAS.Planet.Release.141212\SASPlanet.exe --show-placemarks=1 --insert-placemark="Test Name";(27.5,53.9);"Test Description"

И либо отображаются ранее добавленные метки(если есть), либо ничего.

Re: перейти по заданным координатам из вне

СообщениеДобавлено: 20 окт 2015, 17:39
vdemidov
Увы, все что работает с базой меток, через командную строку пока не работает и в ближайшем будущем не заработает (База меток инициализируется асинхронно и позже обработки командной строки ). Только через отправку сообщений запущенной программе.

Re: перейти по заданным координатам из вне

СообщениеДобавлено: 20 окт 2015, 18:46
Johnson
vdemidov писал(а):Увы, все что работает с базой меток, через командную строку пока не работает и в ближайшем будущем не заработает (База меток инициализируется асинхронно и позже обработки командной строки ). Только через отправку сообщений запущенной программе.

Спасибо за ответ, теперь хоть буду точно знать, что попытки добавить метки из консоли надо оставить. А по поводу отправки сообщений может тоже подскажете какой формат понятен САСу? Вот, например, пытаюсь я отправить сообщение:
Код: Выделить всё
SendMessage(SASHandle, WM_COPYDATA, 0, lParam)

А в каком виде должен быть lParam? Буду благодарен за любую разъяснительную информацию.