|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.09.2010, 11:42 | #1 |
Регистрация: 27.01.2010
Сообщений: 5
|
Сброс в исходное состояние
Помогите!
Возможно все встречались с этим вопросом. Требуется при повторном открытии формы сбрасывать значения, всех полей, всех меток, всех переменных, всех визуальных элементов в то состояние в котором они были при первоначальном открытии! Неужели нужно писать для каждого в отдельности. Код этого модуля больше 2000 строк. Может есть какая то функция или свойство? Напишите пожалуйста решение этой столь маленькой проблемы! |
26.09.2010, 11:45 | #2 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Что за поля?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
26.09.2010, 12:30 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
26.09.2010, 14:20 | #4 |
Регистрация: 27.01.2010
Сообщений: 5
|
все что находится на форме.
много полей (3*17+3*17). также есть метки. при первом открытии формы, посредством работы программы и таймеров, в эти поля вносятся изменения, за тем результаты вносятся в БД и форма закрывается, при повторном открытии формы, она выглядит так как все было изменено в последний раз, как сделать чтобы при открытии формы заново, все поля и метки принимали исходное состояние (как при первом открытии формы). все объекты в основном находятся на groupbox'ах. |
26.09.2010, 15:18 | #5 |
Форумчанин
Регистрация: 01.09.2009
Сообщений: 151
|
Судя по описанию речь идёт не о главной форме.
Поэтому, когда эта форма закрывается, то она не удаляется из памяти, а просто делается невидимой. Мне видится 2 варианта решения проблемы: 1. Написать процедуру, которая будет сбрасывать все компоненты в начальное состояние. Раз у автора хватило терпения вручную создать 2000 компонентов, то почему бы ему не накопипастить столько же строк сброса состояний (это лобовое решение). 2. Каждый раз при отображении формы создавать её заново, напр. так: frmMy := TfrmMy.Create(nil); Это более элегантное решение, но оно потребует от автора позаботиться о правильном уничтожении формы при закрытии. |
26.09.2010, 15:49 | #6 |
Ещё не
Форумчанин
Регистрация: 04.01.2010
Сообщений: 517
|
maroder22 значит делаете вот так, в меню, проект -->> Показать исходник
Удаляете вот эту строчку Application.CreateForm(TForm2, Form2); если ваша форма так называется и вставляете её в обработчик где она у вас должна появляться. По обработчику у form2 или как у вас она называеться? OnHide пишите вот это form12.Free; и всё
Воображение важнее, чем знания. (Albert Einstein)
|
26.09.2010, 16:02 | #7 |
Регистрация: 27.01.2010
Сообщений: 5
|
спасибо. помогло.
|
26.05.2012, 10:37 | #8 | |
Форумчанин
Регистрация: 11.04.2012
Сообщений: 103
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
CopyFile - удаляется исходное приложение | seobot | Общие вопросы Delphi | 9 | 30.04.2010 18:17 |
кнопка сброс | Nellas | Общие вопросы Delphi | 2 | 21.10.2009 22:19 |
Вернуть ScrollBar в исходное положение | Shouldercannon | Общие вопросы Delphi | 6 | 18.04.2009 21:05 |
Сброс счетчика | vldand | Microsoft Office Access | 1 | 20.10.2008 18:40 |
состояние CDRom | joker | Win Api | 12 | 27.01.2008 08:06 |