Halt или Application.Terminated в OnCreate?
Добавлено: 30.05.2013 16:12:29
Из OnCreate главной формы создаётся дата-модуль. При создании дата-модуля вызывается форма запроса пользователя/пароля. При правильном вводе открываются таблицы, при неудачном — необходимо прекратить выполнение программы.
Логика примерно такая:
1. MainForm.OnCreate вызывает CreateDataModule;
2. DataModule.OnLoaded вызывает AskPassword и если неправильно — завершить программу;
3. MainForm.OnCreated открывает таблицы SqlQuery из DataModule.
Если использую Application.Terminated, программа продолжает выполнение других операторов OnCreated главной формы, т.е. пытается открыть SqlQuery, и, конечно, завершается с ошибкой.
Halt, насколько я помню, не рекомендуется использовать.
Как правильно завершить программу в случае неправильного ввода пароля?
Логика примерно такая:
1. MainForm.OnCreate вызывает CreateDataModule;
2. DataModule.OnLoaded вызывает AskPassword и если неправильно — завершить программу;
3. MainForm.OnCreated открывает таблицы SqlQuery из DataModule.
Если использую Application.Terminated, программа продолжает выполнение других операторов OnCreated главной формы, т.е. пытается открыть SqlQuery, и, конечно, завершается с ошибкой.
Halt, насколько я помню, не рекомендуется использовать.
Как правильно завершить программу в случае неправильного ввода пароля?