Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

"Стирание" введённых данных с эдитов модального окна   Найти похожие ветки 

 
STK ©   (2006-04-11 10:56) [0]

У меня в программе вызывается модальное окно. В нём несколько эдитов. В некоторых из них уже по умолчанию вписаны строки (из инспектора объектов). После того как в первый раз заполняеш эдиты и закрываеш (Close), то при вызове второй раз эдиты уже заполнены предыдущем текстом, а надо только по умолчанию тексты(как первый вызов).
Как Я понимаю надо за собой чистить, как?

Free - вызывает ошибку.


 
Плохиш ©   (2006-04-11 11:02) [1]


> Free - вызывает ошибку.

Готовишь по неправильному рецепту.


 
Сергей М. ©   (2006-04-11 11:03) [2]

Не надо ничего "чистить".

mf := TMyForm.Create(..);
try
 mf.ShowModal;  
finally
 mf.Free;
end;


 
ЮЮ ©   (2006-04-11 11:05) [3]

Убрать из списка автосоздаваемых форм проекта и создавать в RunTime всякий раз перед показом.

 Form2 := TForm2.Create(Application);
 try
    Form2.ShowModal;
    ...
 finally
   Form2.Free;
 end;


 
STK ©   (2006-04-11 11:24) [4]

Спасибо попробую.
Попробывал. Получилось. Мне этот форум не раз выручал.
Если кто может для общего моего развития. Чем всё это отличается от обычного.
Или просто обработка исключений. Или надо создавать. Не понятно что именно помогает: создание или обработка исключений, нокак пологаю оба.

Заранее всем спасибо. И доброго времени суток.


 
ЮЮ ©   (2006-04-11 11:29) [5]


> Не понятно что именно помогает: создание или обработка исключений


Естественно, создание. Каждый раз форма создается заново, т.е. в том виде, как была спректирована

try finally - это не обработка прерываний, а контроль за ресурсами - создал объект, будь добр уничтожить.


 
Сергей М. ©   (2006-04-11 11:30) [6]


> Не понятно что именно помогает: создание или обработка исключений


"Помогает" создание и уничтожение формы всякий раз когда она требуется "в первозданном виде".

Обработки исключений здесь нет. Просто созданная объект-форма должна быть безусловно уничтожена (во избежание утечек памяти) в любом случае - и в случае штатного завершения ее работы и в случае вознтикновения исключения в ходе ее работы


 
STK ©   (2006-04-11 11:45) [7]

Т.е. мы
Первое - создаём форму
Второе - показываем
Третье - Уничтожаем созданную форму(непоказанную), потомучто закрывем через Close;
Так?


 
Сергей М. ©   (2006-04-11 12:18) [8]


> Так?


Так.


 
STK ©   (2006-04-11 20:11) [9]

Спасибо. На Этом всё.


 
Leonid Troyanovsky ©   (2006-04-11 21:46) [10]


> STK ©   (11.04.06 20:11) [9]

> Спасибо. На Этом всё.


Не все, IMHO.
Если, конечно, не обяснять  TForm2.Create(Application)

--
Regards, LVT.


 
STK ©   (2006-04-11 23:57) [11]


> Leonid Troyanovsky ©   (11.04.06 21:46) [10]
>
> > STK ©   (11.04.06 20:11) [9]
>
> > Спасибо. На Этом всё.
>
> Не все, IMHO.
> Если, конечно, не обяснять  TForm2.Create(Application)
> --
> Regards, LVT.

??? что именно ты имееш ввиду? Объяснение этой строчки? Чесно скажу не задумывался, что не очень хорошо для общего развития. Что скажеш ты по этому поводу, или тоже имееш вопросы. Но скажу точно, это работаетбезпроблем. Насчёт памяти не знаю, не знаю даже как проверить.


 
SergP ©   (2006-04-12 02:30) [12]


> STK ©   (11.04.06 11:45) [7]
> Т.е. мы
> Первое - создаём форму
> Второе - показываем
> Третье - Уничтожаем созданную форму(непоказанную), потомучто
> закрывем через Close;

> Так?


Это как? Показываем и уничтожаем непоказанную ????

Создаем ( Form2 := TForm2.Create(Application);)
Показываем (Form2.ShowModal;)
Закрываем ее,после чего она уничтожается (Form2.Free;)
Хотя в принципе free можно и не делать, но тогда в OnClose нужно написать
Action:=caFree;


 
Германн ©   (2006-04-12 02:44) [13]

А стоит ли регулярно создавать и уничтожать?
Если форма показывается через ShowModal, не достаточно ли в рамках сабжа написАть обработчик OnShow?


 
STK ©   (2006-04-12 22:24) [14]


> SergP ©   (12.04.06 02:30) [12]
>
> > STK ©   (11.04.06 11:45) [7]
> > Т.е. мы
> > Первое - создаём форму
> > Второе - показываем
> > Третье - Уничтожаем созданную форму(непоказанную), потомучто
>
> > закрывем через Close;
> > Так?

Это я что-то реально опечатался: имел ввиду, что уничтожаем показанную. А третье происходит в finaly, после того как закрыли через Close.
Это я наглючил - машина сдаёт сбой.
Устал совсем с этой программой. А надо ещё диплом писать, времени нет нефига.
Ну, всем большое спасибо за помощ. Страна вас не забудет. Имя ваше не "известно", подвиг ваш "бесмертен" :-)


 
Leonid Troyanovsky ©   (2006-04-14 19:10) [15]


> STK ©   (12.04.06 22:24) [14]

>  Имя ваше не "известно", подвиг ваш "бесмертен" :-)


Хня это все - забудешь после первого литра пива.

--
Regards, LVT.


 
Германн ©   (2006-04-15 02:48) [16]


> Leonid Troyanovsky ©   (14.04.06 19:10) [15]
> Хня это все - забудешь после первого литра пива.


Не. Забудет ещё до первого литра пива.


 
Anatoly Podgoretsky ©   (2006-04-15 11:53) [17]

Зачем вам нужны локальные/глобальные переменные для модального окна?
with TMyForm.Create(..) do
try
  ShowModal;  
finally
  Free;
end;



Страницы: 1 вся ветка

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.03 c
3-1141901273
_kostet
2006-03-09 13:47
2006.04.30
Проблемы с ADOConnection


1-1143053545
Lexa11_2002
2006-03-22 21:52
2006.04.30
Принадлежит ли точка прямоугольнику ...


15-1144300895
kaif
2006-04-06 09:21
2006.04.30
Пирамиды. Сколько их?


2-1144822635
Der Nechk@ssoff
2006-04-12 10:17
2006.04.30
Текущее время.дата


1-1143197549
Muhan_
2006-03-24 13:52
2006.04.30
Как загнать текст в буфер программно?