Официальный сайт геоинформационной системы (ГИС) ObjectLandОфициальный сайт геоинформационной системы (ГИС) ObjectLand
  
 
ПОИСК ПО САЙТУ:
yandex.ru
КАРТА САЙТА
 
главная / поддержка / форум
E-MAIL:ПАРОЛЬ: 
регистрация

Обсуждение

 Вопрос по GDBThemeBrowser.ThemeВопрос по GDBThemeBrowser.Theme [ Роман Ларченко ]
Вторник, 28 сентября 2010, 07:40

Вот такой код

objGDBThemeBrowser = gdb.CreateThemeBrowser(objGDBTheme)
...
MsgBox(objGDBThemeBrowser.Theme.Name)
Console.ReadKey()
MsgBox(objGDBThemeBrowser.Theme.Name)


Пока открыто окно (пока система ждет нажатия клавиши), я вручную открываю другую тему в окне браузера. После этого вторая команда MsgBox(objGDBThemeBrowser.Theme.Name) выдает ошибку:
"currentUser" not understood

Как получить ссылку на тему, после ее ручного изменения?

 Вопрос по GDBThemeBrowser.Theme [ ObjectLand Support ]
Среда, 29 сентября 2010, 16:08

Действительно ошибка имеет место быть. Обязательно будет исправлена в следующей версии ObjectLand.

Сейчас Вы можете поступить следующим образом:
1. Установить обработчик события ThemeBrowserChanged (см. http://objectland.ru/support/doc/comapi/ThemeBrowser_ThemeBrowserChanged.html). В него аргументом передается номер новой темы.
2. Получить тему по этому номеру из коллекции GeoDatabase.Themes

 Вопрос по GDBThemeBrowser.Theme [ Роман Ларченко ]
Пятница, 1 октября 2010, 03:40

Спасибо.
В vb.net обработка событий com - все очень просто, проверил - работает.
Проблема только в том, что работаю с c++builder 6 :)

Вопрос уже не к разработчикам Objectland.
Может кто-нгибудь из читающих форум сталкивался с обработкой событий com в билдере? Киньте ссылку на статью по теме, пожалуйста!

 Вопрос по GDBThemeBrowser.Theme [ Дмитрий ]
Понедельник, 15 октября 2012, 23:39

Здравствуйте.
Не работает обработчик событий ThemeBrowserChanged
Код брал из примеров.
Ниже отрывок кода:

Объявления:

Public Class Form1

Private Const GDB_NAME As String = "Проба" ' Имя ГБД.
Private Const THEME_NAME As String = "Тема1" ' Имя темы.
Dim objGDBEngine As GDBEngineLib.IGDBEngine ' Ядро ObjectLand.
Dim objGDB As GDBEngineLib.IGDBGeoDatabase ' ГБД.
Dim objGDBTheme As GDBEngineLib.IGDBTheme ' Тема ГБД.
Public WithEvents objGDBThemeBrowser As GDBEngineLib.GDBThemeBrowser ' Средство просмотра темы.
....

Обработчик:

Private Sub objGDBThemeBrowser_ThemeBrowserChanged(changeTypeInt As Integer, arg1 As Integer, arg2 As Integer, arg3 As Integer) Handles objGDBThemeBrowser.ThemeBrowserChanged
MsgBox("Выбрали!!!!")
txtEventsLog.AppendText("Окно средства просмотра темы неактивно." & vbCrLf)
Dim strType As String ' Описание или номер типа геометрий.
Dim strLayer As String ' Описание или номер слоя.
' Выбор типа изменения в средстве просмотра темы.
Select Case changeTypeInt
' Тип изменений - "изменение состояния окна средства просмотра темы".
Case objGDBThemeBrowser.gdbBrowserChgActive
If arg1 = 0 Then
txtEventsLog.AppendText("Окно средства просмотра темы неактивно." & vbCrLf)
Else
txtEventsLog.AppendText("Окно средства просмотра темы активно." & vbCrLf)
End If
' Тип изменений - "изменение видимости окна средства просмотра темы".
Case objGDBThemeBrowser.gdbBrowserChgVisible
If arg1 = 0 Then
txtEventsLog.AppendText("Окна средства просмотра темы скрыто." & vbCrLf)
Else
txtEventsLog.AppendText("Окно средства просмотра темы видимо." & vbCrLf)
End If
' Тип изменений - "начало прорисовки темы".
Case objGDBThemeBrowser.gdbBrowserChgThemePaintStart
txtEventsLog.AppendText("Прорисовка темы начата." & vbCrLf)
' Тип изменений - "окончание прорисовки темы".
Case objGDBThemeBrowser.gdbBrowserChgThemePaintEnd
txtEventsLog.AppendText("Прорисовка темы окончена." & vbCrLf)
' Тип изменений - "изменение просматриваемой темы".
Case objGDBThemeBrowser.gdbBrowserChgTheme
txtEventsLog.AppendText("Просматриваемая тема изменена на тему №" & arg1 & "." & vbCrLf)
' Тип изменений - "завершение прорисовки геометрии".
' Следующий код закомментирован ввиду большого размера прорисовываемой темы.
' При раскомментировании данного кода существенно увеличивается
' время работы скрипта и размер создаваемого протокола.
Case objGDBThemeBrowser.gdbBrowserChgThemePaintFeature ' txtEventsLog = txtEventsLog & _
' "Завершена прорисовка геометрии №" & arg1 & " типа №" & arg2 & _
' " в слое №" & arg3 & "." & vbCrLf
' Тип изменений - "изменение множества селектированных геометрий
' в результате интерактивного взаимодействия пользователя с окном просмотра темы".
Case objGDBThemeBrowser.gdbBrowserChgFeatureset
' Установка типа селектированных геометрий.
If arg1 = 0 Then
strType = "разных типов"
Else
strType = "типа №" & arg1
End If
' Установка номера слоя селектированных геометрий.
If arg2 = 0 Then
strLayer = "разным слоям"
Else
strLayer = "слою №" & arg2
End If
' Вывод сообщения о типе и номере слоя селектированных геометрий.
txtEventsLog.AppendText("Выбрана(ы) геометрия(и) " & strType & ", принадлежащие " & strLayer & "." & vbCrLf)
' Тип изменений - "требование активизации окна клиентского приложения
' со стороны средства просмотра темы".
Case objGDBThemeBrowser.gdbBrowserChgActivateClient
txtEventsLog.AppendText("Средство просмотра темы требует активизации окна клиентского приложения." & vbCrLf)
End Select
End Sub

База запускается, открывается тема и все ...
Код вообще не работает((( Т.е. даже не выскакивает MsgBox в первой строке.

У меня VS2010 Win7x64

Пожалуйста подскажите где ошибка?

Ответить

Знаком «*» отмечены обязательные для заполнения поля.
Ваше имя:  *
Адрес электронной почты:  
Тема:  *
Сообщение:
 *
Подтверждение:
(не требуется для зарегистрированных пользователей)
 *
 



Copyright © 1999–2025 ГИС ObjectLand
ГИС ObjectLand ® ООО «Радом-АйТи»
Информация о лицензировании
главная | о продукте | скачать | купить | поддержка | новости