>По какому принципу вообще это делается?
Вариантов несколько - по схемам классов, по конструктору библиотек, и (я использую, мне так проще) по онлайн документации.
1. Вбиваете в гугл фразу "имя_интерфейса interface", к примеру IRasterGeometryProc3 Interface.
2. Переходите по первой ссылке (как правило, если он не в первой строке, то добавляете ключевое слово "inurl:edndoc", без кавычек)
http://edndoc.esri.com/arcobjects/9.2/ComponentHelp/esriDataSourcesRaster/IRasterGeometryProc3.htm.
3. Страница состоит из основных частей, нас интересуют в основном: Members и CoClasses that implement IRasterGeometryProc3. Также часто-густо правильно читать ремарки, и прочяя.
4. В разделе Members - методы интерфейса. В разделе CoClasses классы через которые можно создавать и вызывать этот интерфейс. В случае с IRasterGeometryProc3 это Сокласс RasterGeometryProc.
5. *Если ленивый, или просветлённый* Пытаемся создать интерфейс через CoRasterGeometryProc.Create - успех! Но так бывает не всегда, тогда:
а) Запускаем утилиту ESRI Library Locator, вставляем туда имя сокласса (RasterGeometryProc), и нажимаем "Search", на выходе утилита пишет в какой библиотеке данный энумератор/интерфейс/диспинтерфейс/Сокласс обьявлен. (В нашем случае - esriDataSourcesRaster). Нажимаем "Copy".
б)На страничке переходим по ссылке RasterGeometryProc и внимательно смотрим в заголовок, там видим: "ArcObjects Library Reference (
DataSourcesRaster)" что и есть название искомой библиотеки.
в) Можно просто устроить текстовый поиск по папке где лежат импортированые юниты - но это "не труъ".
...и потом внимательно смотрим на то место где у нас объявлены юниты. Находим (не находим - что иногда и есть причина) данный юнит, переходим на него и ищем строку с именем сокласса. Он в может называться RasterGeometryProc_, или _RasterGeometryProc, или RasterGeometryProc__.
Супермегасекрет, (который Вы бы знали изучив предварительно технологию СОМ) - один Сокласс может реализовывать несколько интерфейсов. И если перейти на страничку сокласса - то во вкладке interfaces, можно увидеть другие интерфейсы к которым можно привести данный класс.
Пример (и результаты выполнения вышеприведённых пунктов):
>Например, интерфейс IPointCollection
1,2 - Получаем ссылку
http://edndoc.esri.com/arcobjects/9.1/componenthelp/esriGeometry/IPointCollection.htm
3 - СоКлассы которые его реализуют:...MultiPatch,Multipoint,Path,Polygon,Polyline...
То есть, методы этого интерфейса можно только через эти классы.
4 - Допустим нас устраивает Polygon. Пробуем:
pPoinCollection := CoPolygon.Create as IPointCollection; - Профит!
5 - Ах да, обьявлен он в esriGeometry_TLB.
Теперь созданный интерфейс можно использовать, например, так:
(IPointCollection as IArea).Centroid - получили центроид фигуры.
Пы.Сы.
Я хз как Вам понятнее сказать чтобы Вы сначала с основами разобрались...