Алгоритмы. Вход в личный кабинет. Поправки

Век живи, век учись! И самое главное, когда чувствуешь, что что-то не так, не нужно себя обманывать, чем быстрее осознаешь проблему, тем быстрее её решишь. В одном из предыдущих постов, я написал простой алгоритм входа в личный кабинет, но всегда есть, что усовершенствовать. Оно вроде бы всё работало, но вот с точки зрения логики и памяти были нюансы.

В данном посте, на принципиальном уровне хочу закрепить как в Delphi организовать вход в личный кабинет. По логике вещей, должна создаваться сначала логин форма, там будет что-то происходить, например пользователь вводит логин с паролем, и если они совпадают, то создается основная форма.

В прошлый раз я не совсем правильно сделал, с точки зрения памяти. Нужно создавать и уничтожать формы в том порядке, в котором они нужны, чтобы правильно расходовать память.

Я для простоты на логин-форме создал кнопку Enter. По нажатию, открывается основная форма.

Вот что у меня получилось.

11

12


Нюанс

Я не силен в WinAPI на данный момент, но пронаблюдал следующую картину, если загруженную модальную форму свернуть, нажав на нижней панели на значок программы, то обратно она не разворачивалась. Я думаю, это как-то легко решается при помощи WinAPI, но я вышел из ситуации стандартными средствами Delphi.

Положил на форму компонент TApplicationEvents и обработал событие Deactivate

Код реализации

Project > ViewSource

LoginUnit

Код главной формы приводить не буду. В принципе, всё элементарно, но хотелось с этим разобраться раз и навсегда.

by Stanislav_Panteleev