| 
| 
 | Вопрос # 5 588/ вопрос решён / | 
 |  Здравствуйте, эксперты!Как можно обнулить форму?
 
 Создаю форму
 with TForm2.Create(nil) do
 try
 ShowModal;
 finally
 Free;
 end;
 
 выполняю необходимые действия (присваиваю переменой новое значение).
 закрываю форму.
 А при повторном создании у переменной тоже значение что я присвоил в прошлый раз.
 
 Разве так должно быть?
 
|  |   Вопрос задал: mr_switch (статус: Посетитель)Вопрос отправлен: 21 августа 2011, 01:48
 Состояние вопроса: решён, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, mr_switch!поведение делфи абсолютно логичное. переменная объявлена не в form2, а в unit2. То есть она глобальная и ведет себя подобающим образом.
 Что бы сделать ее "объявленной в form2", нужно сделать ее полем формы
 
 type TForm2 = class(TForm)
//....
public
  flag:boolean;либо оформить как свойство. 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 21 августа 2011, 13:06
 Оценка за ответ: 5
 Комментарий к оценке: все верно, спасибо |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 21 августа 2011, 12:42; участников в обсуждении: 2. 
|   | Вадим К (статус: Академик), 21 августа 2011, 11:36 [#1]:у какой переменной? Галочка "подтверждения прочтения" - вселенское зло. |  
|   | mr_switch (статус: Посетитель), 21 августа 2011, 12:42 [#2]:переменная объявления в form2 
 var
 flag:boolean = false;
 
 при первом создании формы она равна false
 потом при нажатии на кнопку я делаю ее true и закрываю форму. Но при следующем создании form2 - flag уже равен true. то есть равен тому что я присвоил ей в прошлый раз.
 |  21 августа 2011, 13:14: Статус вопроса изменён на решённый (изменил автор вопроса — mr_switch): Решён Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |