На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Отключить Log

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Отключить Log, Как отключить ведение лога
 
При открытии карты рядом с ней создается директория LOG. Как сделать так чтобы логирование не велось и эта директория не создавалась.
Я пытался открывать карту с параметром ReadOnly но не помогло. Скорее всего передается не правильное значение режима ReadOnly.

Подскажите как правильно это сделать и какой параметр нужно передавать в качестве Mode?

_MAPIMP HMAP _MAPAPI mapOpenData(const char * name, long int mode = 0);
 
Для открытия только на чтение надо передавать GENERIC_READ. Но служебная папка может все равно создаваться. Для однозначности решения вопроса можете сделать всю папку с картой только на чтение.
 
Если в режиме чтения/записи нужно не вести Лог, то так:
Код
 
 // Запретить/Разрешить ведение журнала транзакций (0/1)
 // После открытия карты ведение журнала разрешено.
 // Допускается использовать только при потоковой обработке
 // объектов, когда быстродействие важнее возможности
 // сохранить данные при сбое системы !
 // Перед отключением журнала рекомендуется позаботиться о
 // резервной копии данных !
 // hMap  - идентификатор открытой карты
 // hSite - идентификатор открытой пользовательской карты 
 // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapLogAccess(HMAP hMap, HSITE hSite,long int mode);


Иначе (если только чтение) - так как советует  Andrey Gheleznyakov.
Вообще если Вы не планируете выполнять редактирование карты, открывать ее лучше с mode = GENERIC_READ. Работать будет гораздо быстрее.
То же самое касается и добавления карт (Append).
Изменено: Денис Вицко - 01.03.2011 16:29:50
 
Я извиняюсь, но можно значение этого GENERIC_READ ? Не могу понять чему оно должно равняться.

mapLogAccess не помогает, все равно создается эта директория. Причем создается как только открывается карта, так что вызов этой функции уже никак не влияет :(
Изменено: BeTe - 01.03.2011 22:50:41
 
LOG достал(создаёт дополнительные трудности).
Понимаю, что в договоре "Как есть", но всё же.
Как Вашими средствами отключть LOG полностью?
Изменено: Tim - 01.03.2011 21:54:54
 
Значение GENERIC_READ равно 0x100000. Но от создания директории Log это не спасет.
В будущих версиях этот вопрос постараемся учесть.
Сейчас можете сделать всю папку с картой только на чтение и log создаваться не будет.
 
Спасибо за помощь, буду как-то выкручиваться.
 
Цитата
Andrey Gheleznyakov пишет:
Значение GENERIC_READ равно 0x100000. Но от создания директории Log это не спасет.
В будущих версиях этот вопрос постараемся учесть.
Сейчас можете сделать всю папку с картой только на чтение и log создаваться не будет.

В версии 11.4.2 и далее (http://gistoolkit.ru/download/gislib11.zip) при открытии карты с параметром GENERIC_READ папка Log не создается. При необходимости используется директория Application Data для текущего пользователя.
 
Здравствуйте, тоже возникла необходимость отключить ведение Лога.
Геометрии создаются в автоматическом режиме по WKB из БД.

Т.е. открыть сит только на чтение не вариант.
При запрете через mapLogAccess все равно создается папка с логами.

Решил испробовать "грязный хак" создал в папке с картой пустой файл "log".
Вроде сработало, папка Log уже не может создаться и ошибок не замечено.
Вопрос: нет ли подводных камней у такого решения?
 
Интересное решение, но что-то тут не то. Повторить вариант у меня не получилось. Папка \Log и log карты создаются всегда, если она не открыта в режиме GENERIC_READ. Но это не ваш вариант.
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности