![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
"Стирание" введённых данных с эдитов модального окна [D7, XP]
STK © (2006-04-11 10:56:00)У меня в программе вызывается модальное окно. В нём несколько эдитов. В некоторых из них уже по умолчанию вписаны строки (из инспектора объектов). После того как в первый раз заполняеш эдиты и закрываеш (Close), то при вызове второй раз эдиты уже заполнены предыдущем текстом, а надо только по умолчанию тексты(как первый вызов).
Как Я понимаю надо за собой чистить, как?
Free - вызывает ошибку.
Anatoly Podgoretsky (2006-04-15 11:53:00) [1]Зачем вам нужны локальные/глобальные переменные для модального окна?
with TMyForm.Create(..) do
try
ShowModal;
finally
Free;
end;
Германн (2006-04-15 02:48:00) [2]
> Leonid Troyanovsky © (14.04.06 19:10) [15]
> Хня это все - забудешь после первого литра пива.
Не. Забудет ещё до первого литра пива.
Leonid Troyanovsky (2006-04-14 19:10:00) [3]
> STK © (12.04.06 22:24) [14]
> Имя ваше не "известно", подвиг ваш "бесмертен" :-)
Хня это все - забудешь после первого литра пива.
--
Regards, LVT.
STK (2006-04-12 22:24:00) [4]
> SergP © (12.04.06 02:30) [12]
>
> > STK © (11.04.06 11:45) [7]
> > Т.е. мы
> > Первое - создаём форму
> > Второе - показываем
> > Третье - Уничтожаем созданную форму(непоказанную), потомучто
>
> > закрывем через Close;
> > Так?
Это я что-то реально опечатался: имел ввиду, что уничтожаем показанную. А третье происходит вfinaly, после того как закрыли черезClose.
Это я наглючил - машина сдаёт сбой.
Устал совсем с этой программой. А надо ещё диплом писать, времени нет нефига.
Ну, всем большое спасибо за помощ. Страна вас не забудет. Имя ваше не "известно", подвиг ваш "бесмертен" :-)
Германн (2006-04-12 02:44:00) [5]А стоит ли регулярно создавать и уничтожать?
Если форма показывается через ShowModal, не достаточно ли в рамках сабжа написАть обработчик OnShow?
SergP (2006-04-12 02:30:00) [6]
> STK © (11.04.06 11:45) [7]
> Т.е. мы
> Первое - создаём форму
> Второе - показываем
> Третье - Уничтожаем созданную форму (непоказанную), потомучто
> закрывем через Close;
> Так?
Это как? Показываем и уничтожаем непоказанную ????
Создаем ( Form2 := TForm2.Create(Application);)
Показываем (Form2.ShowModal;)
Закрываем ее,после чего она уничтожается (Form2.Free;)
Хотя в принципе free можно и не делать, но тогда в OnClose нужно написать
Action:=caFree;
STK (2006-04-11 23:57:00) [7]
> Leonid Troyanovsky © (11.04.06 21:46) [10]
>
> > STK © (11.04.06 20:11) [9]
>
> > Спасибо. На Этом всё.
>
> Не все, IMHO.
> Если, конечно, не обяснять TForm2.Create(Application)
> --
> Regards, LVT.
??? что именно ты имееш ввиду? Объяснение этой строчки? Чесно скажу не задумывался, что не очень хорошо для общего развития. Что скажеш ты по этому поводу, или тоже имееш вопросы. Но скажу точно, это работаетбезпроблем. Насчёт памяти не знаю, не знаю даже как проверить.
Leonid Troyanovsky (2006-04-11 21:46:00) [8]
> STK © (11.04.06 20:11) [9]
> Спасибо. На Этом всё.
Не все, IMHO.
Если, конечно, не обяснять TForm2.Create(Application)
--
Regards, LVT.
STK (2006-04-11 20:11:00) [9]Спасибо. На Этом всё.
Сергей М. (2006-04-11 12:18:00) [10]
> Так?
Так.
STK (2006-04-11 11:45:00) [11]Т.е. мы
Первое - создаём форму
Второе - показываем
Третье - Уничтожаем созданную форму(непоказанную), потомучто закрывем через Close;
Так?
Сергей М. (2006-04-11 11:30:00) [12]
> Не понятно что именно помогает: создание или обработка исключений
"Помогает" создание и уничтожение формы всякий раз когда она требуется "в первозданном виде".
Обработки исключений здесь нет. Просто созданная объект-форма должна быть безусловно уничтожена (во избежание утечек памяти) в любом случае - и в случае штатного завершения ее работы и в случае вознтикновения исключения в ходе ее работы
ЮЮ (2006-04-11 11:29:00) [13]
> Не понятно что именно помогает: создание или обработка исключений
Естественно, создание. Каждый раз форма создается заново, т.е. в том виде, как была спректирована
try finally - это не обработка прерываний, а контроль за ресурсами - создал объект, будь добр уничтожить.
STK (2006-04-11 11:24:00) [14]Спасибо попробую.
Попробывал. Получилось. Мне этот форум не раз выручал.
Если кто может для общего моего развития. Чем всё это отличается от обычного.
Или просто обработка исключений. Или надо создавать. Не понятно что именно помогает: создание или обработка исключений, нокак пологаю оба.
Заранее всем спасибо. И доброго времени суток.
ЮЮ (2006-04-11 11:05:00) [15]Убрать из списка автосоздаваемых форм проекта и создавать в RunTime всякий раз перед показом.
Form2 := TForm2.Create(Application);
try
Form2.ShowModal;
...
finally
Form2.Free;
end;
Сергей М. (2006-04-11 11:03:00) [16]Не надо ничего "чистить".
mf := TMyForm.Create(..);
try
mf.ShowModal;
finally
mf.Free;
end;
Плохиш (2006-04-11 11:02:00) [17]
> Free - вызывает ошибку.
Готовишь по неправильному рецепту.