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

ArcObjects в Delphi

Добавлено: 13 янв 2009, 11:08
AlexJL
Здравствуйте!

Возникла проблема с использованием arcobjects в Delphi 2007 (Win32).
На данный момент установлено:

ArcGIS Desktop 9.1
Service Pack 1

ArcGIS Engine Runtime 9.1
Service Pack 1

ArcGIS Engine Developer Kit 9.1
Service Pack 1

Импортированы следующие элементы управления ActiveX в Delphi:

ESRI MapControl
ESRI PageLayoutControl
ESRI TOCControl
ESRI ToolBarControl

Далее пытаюсь реализовать простейший пример загрузки карты в MapControl или PageLayoutControl

...

sFileName := '.\testmap.mxd';

if FileExists(sFileName) then
If PageLayoutControl1.CheckMxFile(sFileName) Then
PageLayoutControl1.LoadMxFile(sFileName);
...

После чего возникает ошибка "Invalid Floating Point operation", причем CheckMxFile выдает положительный результат.

Помогите разобраться с данной проблемой.
Зарание спасибо.

Re: ArcObjects в Delphi

Добавлено: 27 янв 2009, 23:45
ultradu
Я давно пытался - мучался с delphei, сейчас рисую на C#

но не помню, чтобы задавал так путь к проекту -
sFileName := '.\testmap.mxd';

Re: ArcObjects в Delphi

Добавлено: 11 авг 2009, 11:25
pooperec
Начал разбираться, возникла проблема, при добавлении визуальных компонентов TOCControl, MapControl LicenseControl в свойствах компонента TOCControl неактивен пункт Buddy, через который происходит связь ТОС и Мапконтрола. Сейчас пытаюсь переопределить Buddy и инициализировать карту "вручную". Кто-то сталкивался с данной проблемой?

Re: ArcObjects в Delphi

Добавлено: 18 авг 2009, 13:02
pooperec
Разобрался, необходимо вручную задавать Buddy при создании формы:

Код: Выделить всё

TOCControl1.SetBuddyControl(MapControl1.Object_);
ToolBarControl1.SetBuddyControl(MapControl1.Object_);
Возникло несколько вопросов (без особой надежды на ответ, но всё же):

1. Нету ли другого пути к полному списку слоев в обход IEnumLayer?
2. Как от ILayer перейти к IGeoFeatureLayer?