| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		Алексей В. Бастриков
 
 
  Зарегистрирован: 02.06.2008 Сообщения: 118 Откуда: ООО "Инфопроект", г. Екатеринбург
  | 
		
			
				 Добавлено: Вт 02 Дек 2008 21:52    Заголовок сообщения: Внешнее расширение для ИнГЕО | 
				     | 
			 
			
				
  | 
			 
			
				| Не могу получить интерфейс IngeoApplication с помощью GetActiveObject. В чем ошибка? | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Tulon
 
  
  Зарегистрирован: 11.07.2006 Сообщения: 77 Откуда: Сочи
  | 
		
			
				 Добавлено: Ср 21 Янв 2009 17:34    Заголовок сообщения: GetActiveObject | 
				     | 
			 
			
				
  | 
			 
			
				Я использовал вот такую функцию - всё работает. Сверьтесь.
 
 
 	  | Код: | 	 		  function  GetActiveIngeoApp: IIngeoApplication;
 
var
 
  anInterface: IUnknown;
 
begin
 
  if GetActiveObject(CLASS_IngeoApplication,nil,anInterface)=S_OK then
 
    Result:= anInterface as IIngeoApplication
 
  else
 
    Result:= nil;
 
end; | 	 
  _________________ Нет ни чего сложнее, чем достигнуть простоты. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Алексей В. Бастриков
 
 
  Зарегистрирован: 02.06.2008 Сообщения: 118 Откуда: ООО "Инфопроект", г. Екатеринбург
  | 
		
			
				 Добавлено: Пн 26 Янв 2009 11:34    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				В какой библиотеке хранится эта функция?
 
Я не могу найти данной спецификации.
 
Есть только GetActiveObject(ProgID: String), а она не работает. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Tulon
 
  
  Зарегистрирован: 11.07.2006 Сообщения: 77 Откуда: Сочи
  | 
		
			
				 Добавлено: Пн 26 Янв 2009 12:33    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Функция GetActiveObject(TGUID, Pointer, IInterface) находится в модуле ActiveX (библиотека oleaut32.dll). _________________ Нет ни чего сложнее, чем достигнуть простоты. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Алексей В. Бастриков
 
 
  Зарегистрирован: 02.06.2008 Сообщения: 118 Откуда: ООО "Инфопроект", г. Екатеринбург
  | 
		
			
				 Добавлено: Пн 26 Янв 2009 13:51    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Нашел сам: в oleauto.
 
Спасибо за помощь | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Алексей В. Бастриков
 
 
  Зарегистрирован: 02.06.2008 Сообщения: 118 Откуда: ООО "Инфопроект", г. Екатеринбург
  | 
		
			
				 Добавлено: Чт 19 Фев 2009 20:42    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Сделал на C#, работающий код:
 
 
        [DllImport("oleaut32.dll")]
 
        public static extern long GetActiveObject(ref Guid rclsid, IntPtr pvResreved, out IntPtr ppunk);
 
 
        public IngeoApplication GetActiveIngeo()
 
        {
 
            IntPtr ppunk;
 
            Guid rclsid = new Guid("{04088492-0485-11D4-9719-000021C6D845}");
 
            GetActiveObject(ref rclsid, IntPtr.Zero, out ppunk);
 
            if (ppunk.ToInt32() != 0) return Marshal.GetObjectForIUnknown(ppunk) as IngeoApplication;
 
            else return null;
 
        } | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Алексей В. Бастриков
 
 
  Зарегистрирован: 02.06.2008 Сообщения: 118 Откуда: ООО "Инфопроект", г. Екатеринбург
  | 
		
			
				 Добавлено: Пт 27 Фев 2009 10:03    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				| А кто нибудь делал врапперы на TM2AddOnManager для .NET? | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Tulon
 
  
  Зарегистрирован: 11.07.2006 Сообщения: 77 Откуда: Сочи
  | 
		
			
				 Добавлено: Пт 27 Фев 2009 11:23    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Алексей, а это не слишком жестоко совмещать старую модель API интерфейса и современную dotNET?
 
Может врапперы получится сделать используя Ingeo_TLB? _________________ Нет ни чего сложнее, чем достигнуть простоты. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Алексей В. Бастриков
 
 
  Зарегистрирован: 02.06.2008 Сообщения: 118 Откуда: ООО "Инфопроект", г. Екатеринбург
  | 
		
			
				 Добавлено: Пт 27 Фев 2009 22:11    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Я просто поинтересоваться хотел   | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |