Пересылка команд в программу Map Info

Лабораторная работа № 3

Разработка интерфейса приложения с использованием средств

Интегрированной картографии

Задание:

Разработать интерфейс пользователя средствами внешней системы программирования для информационно-справочной ГИС, разработанной в лабораторной работе №3.

Требования к работе:

1. Интерфейс разрабатывается в любой известной системе программирования (Delphi, C#, VB).

2. Разработанный интерфейс должен позволять просматривать как графическую так и атрибутивную информацию

3. Функциональные требования к интерфейсу соответствуют требованиям к работе №4

4. Интерфейс должен обладать следующими возможностями по работе с картой:

· Выделение объектов (одного и группы)

· Зуммирование

· Панорамирование

5. В случае если БД организована в MS Access рекомендуется использовать ADO для обеспечения доступа к данным

Пояснения к работе:

Запуск MapInfo

Запуск уникального экземпляра программы MapInfo осуществляется вызовом функции CreateOleObject() с присваиванием возвращаемого значения объектной переменной (Можете декларировать объектную переменную как глобальную; в противном случае объект MapInfo освобождается после выхода из локальной процедуры.) Например:

MapInfo:= CreateOleObject("MapInfo. Application");

Для подключения к ранее исполнявшемуся экземпляру MapInfo, который не был запущен вызовом функции CreateOleObject(). используйте функцию GetObject(),

MapInfo = GetObjectf, "MapInfo.Application")

Если работа идет с Runtime-версией MapInfo, а не с полной копией, необходимо задавать "MapInfo.Runtinie" вместо "MapInfo.Application". Runtime-версия и полная версия могут работать одновременно.

Функции CreateOleObject() и GetObject() используют механизм управления объектами OLE (OLE Automation) для связи с MapInfo.

В 32-разрядной версии Windows можно запускать несколько экземпляров MapInfo. Если запустить MapInfo и вслед за этим программу, использующую Интегрированную Картографию и вызывающую CreateOleObject(), то будут работать два независимых экземпляра MapInfo.

Пересылка команд в программу Map Info.

После запуска программы MapInfo необходимо сконструировать текстовые строки, представляющие операторы языка Delphi. Например, для исполнения программой MapInfo MapBasic оператор Open Table можно задать в программе следующую строку:

sMsgString:= 'Open Table "PEOPLE" as People';

Если установлена связь с MapInfo, используя механизм управления объектами OLE (OLE Automation), можно передавать командную строку программе MapInfo методом Do. Например:

oleMapInfo.Do (sMsgString);

При использовании метода Do программа MapInfo исполняет командную строку точно так же, как если бы пользователь ввел команду с клавиатуры в окно MapBasic.

Невозможно передать оператор в программу MapInfo, если этот оператор недопус­тим в окне MapBasic. Например, нельзя переслать MapBasic-оператор Dialog, по­скольку его использование не разрешено в окне MapBasic.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: