Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Невозможно вызвать метод

 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков
Предыдущая тема :: Следующая тема  
Автор Сообщение
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;
...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
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
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
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);
  ...

))))
Всем спасибо, и как сразу не догадался?! Ведь прям перед носом было.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


© phpBB Group
Русская поддержка phpBB