В проекте планируется работа с несколькими формами. При этом с главной запускаются (создаются) остальные, которые тоже могут создавать дочерные.
1. Как правильно и оптимально это реализовать?
2. Для работы нужны глобальные переменные. (Например идентификатор сессии MySQL. Один раз залогинился и на все формы одна сессия).
3. Для работы нужны процедури и функции общие для всех, где их лучше разместить? В глобальной форме или в каком то отдельном юните?
4. Как правильно работать с глобальными переменными и глобальными процедурами/функциями?
Несколько форм. Глобальные переменные. Как правильно?
Модератор: Модераторы
-
Михаил Крамер
- новенький
- Сообщения: 73
- Зарегистрирован: 08.02.2008 13:26:40
GAMER, ничего сложного.
А потом, где надо - uses GlobalIdent;
В принципе, можно и в модуле главной формы (кстати, по умолчанию на каждую форму, которую вы рисуете в Lazarus или Delphi создаётся глобальная переменная), но так изящнее и лучше структуируется прога.
Насчёт MIDI-форм в Lazarus-е - не работал.
Да, по поводу праильно работать - использовать как можно меньше глобальных переменных. А вот с процедурами и функциями - пожалуйста, только лучше, если мы говорим об ООП, абстрагировать их в классы
Код: Выделить всё
unit GlobalIdent;
Interface
var
global_varaible1, ...., global_varaibleN: Integer;
procedure GlobalProcedure;
function GlobalFunction: Integer;
implementation
procedure GlobalProcedure;
begin
writeln('Оператор их глобальной процедуры');
end;
function GlobalFunction: Integer;
begin
result:= -1;
end;
end.
А потом, где надо - uses GlobalIdent;
В принципе, можно и в модуле главной формы (кстати, по умолчанию на каждую форму, которую вы рисуете в Lazarus или Delphi создаётся глобальная переменная), но так изящнее и лучше структуируется прога.
Насчёт MIDI-форм в Lazarus-е - не работал.
Да, по поводу праильно работать - использовать как можно меньше глобальных переменных. А вот с процедурами и функциями - пожалуйста, только лучше, если мы говорим об ООП, абстрагировать их в классы
