Инициализация переменной типа hook: IDispatch

0 голосов
спросил 14 Апр, 10 от dmitry12081973 (1,920 баллов) в категории Программные продукты Esri
Пытаюсь понять, как инициализировать переменную hook: IDispatch в примере:
https://forum.esri-cis.ru/index.php?qa=8661
(function TKK.OnCreate(const hook: IDispatch): HResult;).
Можно пример кода, плиз.

6 Ответы

0 голосов
ответил 14 Апр, 10 от pooperec (10,820 баллов)
Что вы подразумеваете под "инициализировать переменную"?
0 голосов
ответил 15 Апр, 10 от dmitry12081973 (1,920 баллов)
Я тут немного разобрался, понял, что здесь переменная hook - это указатель на com-объект, только не ясно, на какой объект ссылаться
0 голосов
ответил 15 Апр, 10 от pooperec (10,820 баллов)
переменная hook содержит в себе диспатч интерфейс объекта который создал инструмент (IApplication или IMapControl, или интерфейс каталога), он передается внутрь инструмента, для того чтобы тот мог корректно получить слои и прочее необходимое для работы...
0 голосов
ответил 15 Апр, 10 от dmitry12081973 (1,920 баллов)
Спасибо большое
0 голосов
ответил 15 Апр, 10 от dmitry12081973 (1,920 баллов)
Всё-таки не понятно, где взять значение переменной Class_KK в:

  TAutoObjectFactory.Create(ComServer, TKK, Class_KK, ciMultiInstance, tmApartment);

0 голосов
ответил 15 Апр, 10 от pooperec (10,820 баллов)
Эта константа типа GUID генерируется автоматически, и является уникальным идентификатором класса который реализует интрефейс(ы).

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