| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		BeeNokle
 
 
  Зарегистрирован: 06.12.2005 Сообщения: 6
 
  | 
		
			
				 Добавлено: Вт 06 Дек 2005 18:03    Заголовок сообщения: Невозможно вызвать метод | 
				     | 
			 
			
				
  | 
			 
			
				В IngeoIntfs.chm у интерфейса IIngeoMapWindow есть метод Invalidate, который обновляет содежимое окна, собственно что и нужно сделать.
 
Однако в сымпортированной typelibrary у этого интерфейса такого метода нет.
 
Что же нужно сделать? Если не использовать этот метод, то тогда как мне по-другому обновить или принудительно заставить перерисовать содержимое окна карты? | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Азаматов Азамат Хадисович
 
 
  Зарегистрирован: 17.02.2005 Сообщения: 100 Откуда: г. Учалы, Респ. Башкортостан
  | 
		
			
				 Добавлено: Чт 15 Дек 2005 20:05    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				если в Delphi то так
 
var w:variant;
 
      iw:IIngeoMapWindow;
 
...
 
w:=iw;
 
w.Invalidate;
 
... | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		BeeNokle
 
 
  Зарегистрирован: 06.12.2005 Сообщения: 6
 
  | 
		
			
				 Добавлено: Сб 17 Дек 2005 15:51    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Азаматов Азамат Хадисович писал(а): | 	 		  если в Delphi то так
 
var w:variant;
 
      iw:IIngeoMapWindow;
 
...
 
w:=iw;
 
w.Invalidate;
 
... | 	  
 
Попробовал, вот результат
 
EOleError:
 
Method 'Invalidate' not suppoted by automation object | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		andreichernov
 
 
  Зарегистрирован: 14.02.2005 Сообщения: 209 Откуда: Самара
  | 
		
			
				 Добавлено: Пн 19 Дек 2005 10:17    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Если Invalidate не получается, то для обновления содержимого 
 
попробуй вызвать соответствующую команду
 
По-моему:
 
MainWindow.Actions.Item['ActionsViewRefresh'].Execute | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Азаматов Азамат Хадисович
 
 
  Зарегистрирован: 17.02.2005 Сообщения: 100 Откуда: г. Учалы, Респ. Башкортостан
  | 
		
			
				 Добавлено: Пн 19 Дек 2005 15:52    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Проверь версию ингео
 
должна быть>=4.3.0.192 | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		BeeNokle
 
 
  Зарегистрирован: 06.12.2005 Сообщения: 6
 
  | 
		
			
				 Добавлено: Пн 19 Дек 2005 22:18    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Кому-то может понадобится
 
Решение было просто гениальным )))))))
 
Так как Ингео обновляет свое окно по нажатии f5, то просто посылаем окну программное нажатие клавиши.
 
 	  | Код: | 	 		  
 
  ...
 
  SetForeGroundWindow(FApp.MainWindow.Handle);
 
  keybd_event(VK_F5, 0, 0, 0);
 
  keybd_event(VK_F5, 0, KEYEVENTF_KEYUP, 0);
 
  ...
 
 | 	  
 
))))
 
Всем спасибо, и как сразу не догадался?! Ведь прям перед носом было. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |