| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		Удовица Андрей
 
 
  Зарегистрирован: 10.07.2007 Сообщения: 5 Откуда: г.Сочи МУ "Инвестиционно-иформационный центр"
  | 
		
			
				 Добавлено: Сб 05 Апр 2008 10:34    Заголовок сообщения: Приложение, взаимодействующее с запущенной копией Ингер | 
				     | 
			 
			
				
  | 
			 
			
				Подскажите где найти пример
 
приложения Windows, взаимодействующего с запущенной 
 
копией ИнГео.
 
Желательно конечно приложения написанного на Net Framework | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Удовица Андрей
 
 
  Зарегистрирован: 10.07.2007 Сообщения: 5 Откуда: г.Сочи МУ "Инвестиционно-иформационный центр"
  | 
		
			
				 Добавлено: Сб 05 Апр 2008 12:21    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				| Вроде разобрался, но если вдруг у кого есть примеры буду очень признателен. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		rvm
 
 
  Зарегистрирован: 03.07.2008 Сообщения: 9
 
  | 
		
			
				 Добавлено: Пт 15 Авг 2008 17:25    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Я на Делфи и спользую:
 
 
interface
 
Uses
 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 
  Dialogs, StdCtrls, ActiveX, Ingeo_TLB, ComCtrls;
 
 
function GetActiveIngeoApp: IIngeoApplication;
 
procedure CreateMapObject(anApp: IIngeoApplication;
 
  const aLayerID, aStyleID, aTableID: String; Xs, Ys, Cs: array of double;
 
  bTp:byte);
 
 
implementation
 
 
uses FormDmf;
 
 
function GetActiveIngeoApp: IIngeoApplication;
 
var
 
	anInterface: IUnknown;
 
begin
 
	// function GetActiveObject defined in the ActiveX.pas unit
 
 	if (GetActiveObject(CLASS_IngeoApplication, nil, anInterface) = S_OK) then
 
		Result := anInterface as IIngeoApplication
 
 	else
 
 		Result := nil
 
end;
 
 
 - т.о. получая ссылку на ИнГео, а далее по задаче (этот фрагмент где-то у разработчиков системы есть).
 
 
Владимир. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Алексей В. Бастриков
 
 
  Зарегистрирован: 02.06.2008 Сообщения: 118 Откуда: ООО "Инфопроект", г. Екатеринбург
  | 
		
			
				 Добавлено: Вс 17 Авг 2008 13:44    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Можете использовать COM-библиотеку InMetaCR.
 
Вот на C# мой кодек выглядит так:
 
 
...
 
using InMetaCR;
 
using Ingeo;
 
using InScripting;
 
...
 
 
private IngeoApplication MyIngeo;
 
private void Init()
 
{
 
  InMetaDataServiceClientClass InMeta = new InMetaDataServiceClientClass();
 
  MyIngeo = InMeta.GetActiveIngeo() as IngeoApplication;
 
}
 
...
 
//совсем не обязательная функция
 
private void Done()
 
{
 
 MyIngeo = null;
 
}
 
 
при этом в референсы достаточно добавить лишь InMetaCR | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |