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

Ошибка в модуле автозаполнения семантики

 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы пользователей
Предыдущая тема :: Следующая тема  
Автор Сообщение
tariel



Зарегистрирован: 26.09.2005
Сообщения: 72
Откуда: г.Орск Оренбургская обл.

СообщениеДобавлено: Ср 13 Авг 2008 11:31    Заголовок сообщения: Ошибка в модуле автозаполнения семантики Ответить с цитатой

Здравствуйте Все!
работал модуль автозаполнения семантическими данными из таблиц , заполнял координатами подписи точек

3Автозаполнение семантики поворотные точки Град план
Код:

option explicit
' слой поворотные точки карта Градостроительный план
const AutoFillLayerID = "001D00093147"
const AutoFillTableID = "001D00093150"
const AutoFillStyleID = "001D0009314F"
const XFieldName = "X"
const YFieldName = "Y"
const DecimalCount = 3

function GetCoordinates(aMapObject, byref X, byref Y)
   dim Shape

   for each Shape in aMapObject.Shapes
      if Shape.StyleID = AutoFillStyleID then
         if Shape.Contour.Count > 0 then
            dim Part
            set Part = Shape.Contour(0)
            if Part.VertexCount > 0 then
               dim C
               Part.sGetVertex 0, X, Y, C
               GetCoordinates = True
               exit function
            end if
         end if
      end if
   next
   GetCoordinates = False
end function

function NeedUpdateData(MapObjectID)
   NeedUpdateData = (ActiveDb.MapObjects.LayerIDFromObjectID(MapObjectID) = AutoFillLayerID)
end function

sub UpdateObjectData(MapObjectID)

   if not NeedUpdateData(MapObjectID) then
      exit sub
   end if

   dim MapObjects, MapObject

   set MapObjects = ActiveDb.MapObjects
   set MapObject = MapObjects.GetObject(MapObjectID)

   dim X,Y
   if not GetCoordinates(MapObject, X, Y) then
      exit sub
   end if

   dim SemTableName
   SemTableName = ActiveDb.SemTableFromID(AutoFillTableID).Name

   X = round(X, DecimalCount)
   Y = round(Y, DecimalCount)

   MapObject.SemData.SetValue SemTableName, XFieldName, X, 0
   MapObject.SemData.SetValue SemTableName, YFieldName, Y, 0

   MapObjects.UpdateChanges
end sub

' Вызывается после обновлением пространственного объекта
sub DbMapObjects_UpdateComplete(aMapObjectID, aMy)
   if aMy then
      UpdateObjectData(aMapObjectID)
   end if
end sub

' Вызывается после создания пространственного объекта
sub DbMapObjects_CreateComplete(aMapObjectID, aMy)
   if aMy then
      UpdateObjectData(aMapObjectID)
   end if
end sub


при создании точки мигает несколько секунд курсор потом выдает :
Недостаточно места в стеке:"NeedUpdateData"

тоже самое при пририсовывании самой подписи ..
но после отбивания по ESC объект всё же создан.
скопировал слой проводником ... без модуля на чисто создается все ровно ! скопировал модуль переписал

const AutoFillLayerID = "001D00093147"
const AutoFillTableID = "001D00093150"
const AutoFillStyleID = "001D0009314F"

на новый слой и всё повторяется .... прошу помощи!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RuslanG



Зарегистрирован: 10.07.2005
Сообщения: 171
Откуда: ИНТЕГРО

СообщениеДобавлено: Пт 15 Авг 2008 15:48    Заголовок сообщения: Ответить с цитатой

Обновленная версия модуля "Автозаполнение семантических данных"
Список дополнительных модулей для ГИС "ИнГео"

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

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


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