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

Обсуждение

 COM help [ Николай Гипский ]
Четверг, 17 апреля 2008, 10:59

День добрый.
Тут одному легальному пользователю койчо автоматизирую. Пароль на профиль на говорит поэтому пишу через форум.
1. Подскажите пожайлуста в каком COM примере, разделе сайта/справки по COM найти код помогущий мне после того как я открыл БД админом монопольно - удалить к ..... всех пользователей.
Спасибо.

  [ ObjectLand Support ]
Четверг, 17 апреля 2008, 11:52

См. "Коллекции объектов", коллекция GeoDatabase::Users. Необходимо удалить все элементы коллекции. Это можно сделать открыв ГБД как администратор. Поэтому пользователя, для которого свойство Administrator = true, нужно удалять последним.

  [ Николай Гипский ]
Четверг, 17 апреля 2008, 14:35

Великолепно Delete работает лучше чем в Оффиссе, с удалением слоев тож разобрался. С удалением тем, выборок, таблиц и типов походу тож проблем не будет. Теперь надо из одной базы в другую покопировать слои (Правка/копировать/целиком/изтекущейГБД - это в меню). Где это искать в COM'е .

Спасибо.

  [ ObjectLand Support ]
Четверг, 17 апреля 2008, 14:43

См. раздел "Объект GDBCopier"

  [ Николай Гипский ]
Пятница, 18 апреля 2008, 16:03

Посмотрел справку и единственный пример. Сналету не въехал. Захотелось побежать за поллитрой. Ладно буду в понедельник неторопясь смотреть.
Огромное спасибо.

  [ Николай Гипский ]
Понедельник, 21 апреля 2008, 17:31

Понедельник по причине 13-го числа не задался. Но вопрос был да и есть :
Есть две одинаковые базы Objectl'энда в одной не хватает пары тем. Все данные для них (там слои, типы и пр. ) есть. Как правильно пусть даже руками (в смысле интерактивно) скопировать их из одной базы в другую. А то достало пересоздавать.

Спасибо.

  [ Николай Гипский ]
Понедельник, 21 апреля 2008, 17:37

Ага попробовал структурой с новой картой вроде неплохо скопировалась. Теперь бы поменять теме карту и все былобы замечательно .... Не подскажете ...?

Спасибо.

  [ ObjectLand Support ]
Понедельник, 21 апреля 2008, 18:14

Такого сервиса не предусмотрено. Нужно программно читать все свойства исходной темы и добавлять эти свойства в новую тему (для другой карты).

  [ Николай Гипский ]
Вторник, 22 апреля 2008, 15:34

Не предусмотрено - ладно. Хотя можно и отнести к предложениям к разработчикам - чтоб предусмотреть. А руками как правильно скопировать ????

Спасибо.

  [ ObjectLand Support ]
Вторник, 22 апреля 2008, 15:59

Внимательно создать тему с нуля, с теми же слоями, типами, фильтрами, масштабными зонами, стилями и пр.))

  [ Николай Гипский ]
Вторник, 22 апреля 2008, 16:10

Поработал с objGDBCopier
сваял конструкцию
Dim objGDBEngine, objGDB ,objGDBUser , strGDBPath
Dim objGDBSrc
Dim objGDBCopier

Set objGDBEngine = WScript.CreateObject("GDBEngine.Application")
strGDBPath = "d:\zemkom\tst\zemkom"
Set objGDB = objGDBEngine.OpenGDB(strGDBPath, gdbOpenExclusive Or gdbOpenReadWrite Or gdbOpenNoChgFile, "", "", "")
strGDBPath = "d:\asy\work\prev\city"
Set objGDBSrc = objGDBEngine.OpenGDB(strGDBPath, gdbOpenExclusive Or gdbOpenReadWrite Or gdbOpenNoChgFile, "", "", "")
Set objGDBCopier = objGDBEngine.CreateGDBCopier(objGDBSrc, objGDB)
objGDBCopier.CopyLayer "имяслоя" , "имяслоя" , "имякарты" , true , false
objGDBCopier.Perform
objGDBEngine.Close()


сначала писал objGDBCopier.CopyLayer( "имяслоя" , "имяслоя" , "имякарты" , true , false )

сильно матюкался на скобки , убрал , компиляцию проходит
но говорит следующее - "Несоответствие типа CopyLayer"


Спрасибо.

  [ Николай Гипский ]
Четверг, 15 мая 2008, 10:54

Ээээ. Весь саппортЪ ушел на тестирование 2.7.
Вопрос с GDBCopier так и остался. Никто не поможет случаем???

И еще заковыка появилась. Ятут по спрвке и по примерам не нашел средств для программного (COM) переименования файлов базы. Если вдруг ненароком знающий человек будет пробегать мимо и у него будет пару минуток то пусть подскажет.

Николай.

  [ ObjectLand Support ]
Четверг, 15 мая 2008, 11:34

В COM и ядре системы такого метода нет. Переименование в пользовательском интерфейсе осуществляется через вызовы Windows для переименования файлов. Только его надо делать аккуратно, проверяя возможные конфликты с именами других файлов.

  [ Alexei ]
Пятница, 16 мая 2008, 14:10

Насчет CopyLayer - этот метод вроде бы требует в качестве первого и третьего параметров объекты типа GdbLayer и GdbMap, а не имена слоя и карты.

 Копирование оформления тем [ Максим Юрьевич Трухачёв ]
Суббота, 17 мая 2008, 15:28

to <Николай Гипский>
По адресу http://www.urgc.aaanet.ru/items/item1732.shtml выложена программка для копирования оформления тем из одной ГБД в другую.

Ответить

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



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