Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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);
...
|
))))
Всем спасибо, и как сразу не догадался?! Ведь прям перед носом было. |
|
Вернуться к началу |
|
|
|