Страница 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
Хм... Проверю.
