А речь и не шла о разных задачах, как раз НАОБОРОТ - задача одна, формы должны быть РАЗНЫЕ.
Вы, Ivanus, утверждаете, что у вас 3 РАЗНЫЕ формы. Но в приведенном вами коде НЕТ 3-х разных форм (нет и двух).
О чем красноречиво говорит наименование класса "Tcarnage1", который, по вашему коду, описывает и первую форму и вторую.
Класс (в смысле описание объекта) отвечает за поведение этого самого объекта и, если у вас 1-я и 2-я
формы одного и того же класса, то как вы можете добиться разного поведения объектов (форм).
Ну, это теория, а ваша задача решается просто (на примере).
При закрытии формы Form2, меняйте значения переменных в формах
Form1 и Form3:
Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
Form1.Per1 := Per1;
Form3.Per1 := Per1;
... //и т.п
Так же можно менять значения переменных в других формах и при других событиях - все зависит от логики проекта.
Не возбраняется менять значения переменных в формах из других форм когда заблагорассудится.
-----------
P.S. И не стоит с одним и тем же вопросом рассекать разные подфорумы, их все равно читают одни и те же люди.