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

Про конфигуратор

Добавлено: 26 фев 2010, 15:15
galover
Кто-нибудь делал запрет редактирования (создания, удаления, редактирования) на интерфейс с browse. Попытался изменить контекст, чтобы клавиши F4, F7, F8 стали недоступны. Поставил sci1EnEsc (только Enter и Esc) всем элементам управления интерфейса, однако контекст как был прежний, так и остался. Т.е. конфигуратор показывает правильно - мой контекст, однако на самом деле кнопки от старого контекста. Выгружал в cnf, компилил, все равно не проходит. Куда копнуть?

Добавлено: 27 фев 2010, 10:29
Maverick
менялся контекст интерфейса/брауза или все-таки самих полей?

зачастую контекст фейса/окна/брауза не соответствует контексту полей.. а именно они видны (контексты полей т.е.):-)

Добавлено: 27 фев 2010, 10:37
galover
Maverick
поменял все контексты - и фейса и скринов и браузов и самих полей. Эффекта ноль :( Вообще, то что я хочу реально, или это в принципе невозможно сделать с помощью конфигуратора?

Добавлено: 27 фев 2010, 10:50
edward_K
Видимо то если программно попробовать + rescanpanel - через cfsSetProp.
может в этом фейсе он программно и меняется - тогда конфигуратор перекрывается.

Добавлено: 27 фев 2010, 11:52
galover
не думаю, что там программно что-то меняют

Добавлено: 27 фев 2010, 12:16
Maverick
нууу... я не стал бы так утверждать..
функция SetHelpAndStatusContext достаточно популярна в исходниках :-)
мало того, т.к. многие интерфейсы - ролевые (или по-крайней мере - псевдоролевые), то использование данной ф-ии даже рекомендовано Ж-)

Добавлено: 27 фев 2010, 12:37
galover
неа, в исходниках для данного интерфейса нет вызова SetHelpAndStatusContext и вообще там контексты захардкодены, так что подозреваю, что перебить контекст одним лишь конфигуратором нельзя

Добавлено: 27 фев 2010, 12:46
m0p3e
не проще тогда докомпилировать фейс?

Код: Выделить всё

alter interface <NameInterface>;
HandleEvent
cmInit :
 {
   inherited::handleevent(cmInit);
   SetHelpAndStatusContext(бла-бла);
 }
end;
end.
Ненавижу конфигуратор... :)

Добавлено: 27 фев 2010, 13:05
galover
+1 конфигуратор отстой. С докомпиляцией попробую поиграться

Добавлено: 27 фев 2010, 13:09
Den
я как то делал тоже через alter запрет некоторых команд, в т.ч. и из локального меню, но тока для tree

alter interface KatStroy ;
var commands : array[1..6] of word;

...
HandleEvent
CmInit:{
inherited :: handleEvent(cminit);
commands[1]:=cmAddNewRec;
commands[2]:=cmInsLevel;
commands[3]:=cmDeleteRecord;
commands[4]:=cmEdit;
commands[5]:=cmDelete;
commands[6]:=cmdefault;
DisableCommands(commands);
}

работает вроде как все. Ничего юзвери править не могут, кому это по штату не положено )

Добавлено: 27 фев 2010, 13:33
m0p3e
Den
Но при этом варианте кнопарики в статус строке останутся. :)

Добавлено: 27 фев 2010, 13:34
Den
Не останутся

Добавлено: 27 фев 2010, 13:34
galover
скажите, а как подключать такой рес? т.е. Atlantis_user.res не проканал. Подозреваю, что приоритет д.б. повышенным

Добавлено: 27 фев 2010, 13:37
Den
galover писал(а):скажите, а как подключать такой рес? т.е. Atlantis_user.res не проканал. Подозреваю, что приоритет д.б. повышенным
у меня просто обычный ресурс пользовательский в репозитарии подключен и все

Добавлено: 27 фев 2010, 13:59
m0p3e
Den
Хм... Проверю. ;)