Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.011 c
1-1143086318
walkernet
2006-03-23 06:58
2006.04.30
Как можно программно переместить курсор мыши?


3-1140564295
TheEd
2006-02-22 02:24
2006.04.30
Как при вставке задать полям знач-я по умолч., те что в БД заданы


4-1139390033
plotn
2006-02-08 12:13
2006.04.30
Динамическая загрузка dll


3-1141905491
Megabyte
2006-03-09 14:58
2006.04.30
Вызов одной ХП внутри другой


9-1127503221
grouzd[E]v
2005-09-23 23:20
2006.04.30
64k intro testing





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский