Пример работы в основном режиме расписан в "10.6 Example of Object Security Settings". Вход в систему в основном режиме происходит при изменении пароля (5.6: "Once the password is entered, the objects that the user can operate are classified.").
Спасибо, нашёл эту строчку. Мне нужен был, как выяснилось, только один пользователь - Наладчик, который мог бы менять уставки, а в остальном достаточно общего режима без ограничений. Мне примеры не понравились, т.к. для обычного режима возможна ситуация, когда при изменении имени пользователя ничего не изменяется. Это может ввести в заблуждение. Поэтому я убрал вообще ввод имени, оставил одного единственного пользователя, сам проверяю пароль и вручную делаю "пересброс" системного пароля (скрипт проверки крутится у меня в общем зацикленном скрипте).
Вам же нужны eua? Они в расширенном режиме работают.
Для моего случая это оказалось слишком сложным.

- Код: Выделить всё
- // Проверка пароля пользователя.
sub CheckPassword()
bool tmp = false
unsigned short NameId = 0
unsigned int password = 0
// Считываем пароль из буфера.
GetData( password, "Панель", "Пароль", 1 )
// Если пароль равен паролю Наладчика, то входим в систему.
if password == 222 then
// Вводим номер пользователя.
NameId = 1
SetData( NameId, "Панель", LW, 9219, 1 )
// Вводим пароль пользователя с принудительным изменением.
password = 0
SetData( password, "Панель", LW, 9220, 1 )
password = 222
SetData( password, "Панель", LW, 9220, 1 )
else
// Вводим номер пользователя.
NameId = 0
SetData( NameId, "Панель", LW, 9219, 1 )
// Выходим из системы (пароль сбрасывается).
tmp = true
SetData( tmp, "Панель", LB, 9050, 1 )
end if
end sub