Как автономно от ArcGIS запустить свою программу?

0 голосов
спросил 21 Июнь, 10 от developer195 (560 баллов) в категории Программные продукты Esri
Здравствуйте, помогите, плиз, с задачей: как запустить на компе, на котором нет никаких средств ArcGIS отдельную программу, написанную в Delphi с помощью ArcObjects, что для этого по миниуму надо сделать (что перенести и/или установить на этот комп)?
Спасибо!

27 Ответы

0 голосов
ответил 22 Июнь, 10 от Alexander1 (32,520 баллов)
Чтобы разрабатывать stand-alone программу на ArcGIS Engine, недостаточно иметь Runtime (Runtime нужен на машине, где программа будет исполняться), нужен ArcGIS Engine SDK:

http://www.esri.com/software/arcgis/arcgisengine/index.html
0 голосов
ответил 23 Июнь, 10 от developer195 (560 баллов)
Благодарю. У меня на машине всё есть, только не получается, как я писал выше создать stand-alone приложение.
0 голосов
ответил 23 Июнь, 10 от TDenis (42,620 баллов)
Не получается создать или запустить?
Что-то всё запутано. Вы пытаетесь отвязать от ArcGIS машину для разработки или машину для запуска приложения?
Для первой нужен Engine SDK, для второй Runtime. Желательно той же версии.

Перечислите, какие сборки вы используете в своей программе.
    
    
0 голосов
ответил 23 Июнь, 10 от pooperec (10,820 баллов)
Вы. Не. Сможете. Запустить. Ваше приложение. Без Библиотек ArcGIS.

Или, не так... Давайте, оттрасируем Вашу программу, и найдём что первая ошибка сыпется при попытке инициализации объекта лицензии (ну не всегда)? Ну или до первого обращения к внешней библиотеке?
0 голосов
ответил 23 Июнь, 10 от developer195 (560 баллов)
TDenis
>Не получается создать или запустить?
Мне нужно на голой (без средств ArcGIS) машине запустить созданное мною приложение.

pooperec
> Давайте, оттрасируем Вашу программу....
Я писал выше, на каком месте затыкается моя программа - при регистрации dll, в которой находится  com-сервер
0 голосов
ответил 23 Июнь, 10 от Alexander1 (32,520 баллов)
Благодарю. У меня на машине всё есть, только не получается, как я писал выше создать stand-alone приложение.

    
Хорошо, пол-дела уже сделано. Теперь почитайте, как делается ArcGIS Engine application deployment/setup:

http://resources.esri.com/help/9.3/arcgisengine/dotnet/de1e299d-8af3-4d37-8a88-9e525e4fb1fe.htm



    
0 голосов
ответил 24 Июнь, 10 от pooperec (10,820 баллов)
рукалицо...

Итак: Ошибка при вызове LoadLibrary ("TestDll.dll"). При загрузке Вашей библиотеки происходит вызов секции initialize, что у Вас написано в initialize?


===Добавлено позже===

Попітаемся провести анологию:
А без установленного Windows на машине Ваша библиотека будет запускаться?
0 голосов
ответил 24 Июнь, 10 от developer195 (560 баллов)
Я прочитал, у меня всё это установлено, все лицензии есть.
0 голосов
ответил 24 Июнь, 10 от developer195 (560 баллов)
>При загрузке Вашей библиотеки происходит вызов секции initializ ....

Не могу понять, в чём у меня дело, можете глянуть код?
http://floomby.ru/content/KQXyJ2xBcU/
В нём у меня создан СОМ-сервер в виде TestDll.dll - который я пытаюсь регистрировать на отдельной машине как regsvr32.exe TestDll.dll или запустить с помощью тестового проекта ProjectStart. Программа падает на строке:
  TAutoObjectFactory.Create(ComServer, TCOM, Class_COM,
    ciMultiInstance, tmApartment);

0 голосов
ответил 24 Июнь, 10 от pooperec (10,820 баллов)
developer195
Постараюсь в крайний раз, объяснить максимально доходчиво:
При Выполнении строчки:
h := LoadLibrary('TestDll.dll');
Основной программы, у Вас пытается выполняеться следующий код библиотеки:

initialization
ShowMessage('1');
TAutoObjectFactory.Create(ComServer, TCOM, Class_COM,
    ciMultiInstance, tmApartment);
ShowMessage('2');
end.
Ключевым моментом тут является параметр TCOM, это собственно сокласс. Структура сокласса:
TCOM = class(TAutoObject, ICommand)
...
{неважно}
end;
При создании, идёт попытка получить структуру интерфейса ICommand, а и поиск идёт по его IID (идентификатору интерфейса), в реестре... А его там нету (у Вас же не установлено библиотек АркГИСа)! Это собственно и приводит к ошибке...

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