Страница 1 из 1

Режим ReadOnly .... ?

Добавлено: 06 Сентябрь 2008, 12:22
Игорь Столяров
Привет всем !

Есть программа, сделана на C63 ABC, БД TopSpeed - нужно предусмотреть в ней режим работы с БД "только просмотр".
Например при запуске с CD / DVD или с сетевого диска с правом только на чтение.

C помощью GlobalErrors.RemoveError(Msg:AccessDenied) можно выключить все сообщения об ошибках (они выдаются
когда нет прав на запись). А есть ли возможность также одной командой "выключить" все операторы Access:File.Insert() и Access:File.Update() ? Конечно можно вручную отработать и отключить все операции попытки изменения БД - но хотелось бы как-то этот процесс автоматизировать ...

Заранее спасибо за любые идеи.

Re: Режим ReadOnly .... ?

Добавлено: 10 Сентябрь 2008, 19:56
Igor
если ABC модель - Поробуй написать класс наследик от FileManager и в нем отключить все ненужные методы. В APP в закладке Global Propirties->Classes->File Management подключаешь свой класс.

Re: Режим ReadOnly .... ?

Добавлено: 11 Сентябрь 2008, 14:53
Yufil
В своё время я работал в конторе, которая выпускала программы на компактах
Там при запуске программы сначала определялся адрес CD-ROM дисковода (или дисководов)

LOOP I#=0 TO 25
LOC:CdDir=CHR( VAL('A') + I# ) & ':\'
IF GETDRIVETYPE(LOC:CdDir)=5
CDQ:Drive=Loc:CdDir[1]
Add(CdQ)
END
End


Внутри FileManager.Open для базы сначала запрашивается имя каталога, где она живёт, потом выделяется имя
дисковода и проверяется, входит ли дисковод в список сетевых. Если это так, выполняется Self.SetOpenMode(ReadOnly)