Topic: Изменение главной формы в зависимости от роли.

Доброй ночи всем. Помогите пожалуйста. Как с помощью скрипта изменить главную форму по умолчанию?

s := VarToStr(SQLExecute('SELECT COUNT(*) FROM _user WHERE username = ''' + application.User.Username + ''' AND id__role = 4;'));
if s = '1' then
begin
  frmPriemnaya.Show;
  Application.MainForm := frmPriemnaya; // Устанавливаем frmPriemnaya как главную форму
  Form1.Close;
end;

2 (edited by k245 2023-09-27 05:54:39)

Re: Изменение главной формы в зависимости от роли.

Главная форма не меняется скриптом, только в режиме конструктора.
https://k245.ru/wp-content/uploads/2023/08/f8.png
https://k245.ru/mvdb/formy.html
Но вы можете при запуске приложения скрывать главную форму и отображать нужную вам в зависимости от роли.

Визуальное программирование: блог и телеграм-канал.

Re: Изменение главной формы в зависимости от роли.

k245 wrote:

Главная форма не меняется скриптом, только в режиме конструктора.
https://k245.ru/wp-content/uploads/2023/08/f8.png
https://k245.ru/mvdb/formy.html
Но вы можете при запуске приложения скрывать главную форму и отображать нужную вам в зависимости от роли.

Да, я читал и читаю ваши темы. И там было написан "Изменить или скрыть главное меню можно с помощью скриптов" и я подумал что можно с помощью скрипта изменить. Но я не правильно понял.

4 (edited by k245 2023-09-27 08:33:43)

Re: Изменение главной формы в зависимости от роли.

Главное меню можно "пересадить" с главной формы на другую форму.

procedure Menu_MoveTo(AFromForm: TForm; AToForm: TForm);
// перенести меню с формы на форму
var
  tmpMenu: TMainMenu;
begin
  tmpMenu := AFromForm.Menu;
  AFromForm.Menu := nil;
  AToForm.Menu := tmpMenu;
end;
Визуальное программирование: блог и телеграм-канал.