Запустить скрипт из другого приложения

0 голосов
спросил 31 Янв, 06 от Гость (210,080 баллов) в категории Программные продукты Esri

Господа! Кто знает, можно ли запустить скрипт Avenue из другого exe-шника (Arcview3x и проект .apr с нужным скриптом запущены). Вроде бы в программе DNRGarmin это реализовано, там из расширения вызывается внешнее приложение, а затем из него запускается скрипт Avenue проекта, но как это сделано - непонятно. Если кто-нибудь знает, как это сделать, огромная просьба сообщить.

С уважением, Петр

2 Ответы

0 голосов
ответил 01 Фев, 06 от Гость (210,080 баллов)
Передавать команды ArcView из другого приложения на запуск скрипта можно, используя:
"...Вызов удаленной процедуры (RPC) для взаимосвязи в режиме Клиент/Сервер с другими приложениями. В Windows Вы можете использоватьДинамический обмен данными (DDE)..." и т.д. по help'у (см. топик "Интеграция приложений").

При использовании DDE ArcView выступает в роли сервера, а приложение вызывающее скрипт в роли клиента DDE. Клиент DDE передает ArcView имя скрипта и строку с параметром (топик "DDEServer"). Вызов может выглядеть примерно так (в Delphi c использованием компонента TDdeClientConv):

DDEClientConv.CloseLink;
DDEClientConv.SetLink('ArcView', 'system');
DDEClientConv.ServiceApplication:='c:\ESRI\AV_GIS30\ARCVIEW\ BIN32\arcview.exe <полный путь до проекта>';

If DDEClientConv.OpenLink
    Then DDEClientConv.PokeDataLines('string <имя скрипта>', '<строка параметров>');
0 голосов
ответил 01 Фев, 06 от Гость (210,080 баллов)

to Андрей

Огромное спасибо! Сейчас внимательно посмотрел скрипты расширения DNRGarmin, действительно, запускается DDEServer. Попробую по аналогии, вдруг получится :-). Еще раз спасибо за код.

С уважением, Петр

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...