![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не дать показаться форме
upc © (2011-11-17 16:59:00)Здравствуйте,
как можно сделать, что бы при OnShow (в случае выполнения определенного условия) форма не могла показаться. Close делать нельзя, так как форма еще не показана и вообще ошибка выдается (Can not change Visible in OnShow or OnHide, или как-то так). Может надо писать код не в OnShow? Но где тогда?
Dennis I. Komarov (2011-11-17 17:35:00) [21]
> в OnCloseQuery
У тебя должны быть очень веские причины, чтобы его использовать.
upc (2011-11-17 17:24:00) [22]Я ошибся: в OnCloseQuery, а не OnClose.
Dennis I. Komarov (2011-11-17 17:24:00) [23]
> Да, это выглядит криво.
Сам того хотел...
upc (2011-11-17 17:20:00) [24]Да, это выглядит криво.
Вот в OnClose есть CanClose - было бы в OnShow CanShow, тогда проблема была бы решена. Нет ли подобного чего-либо?
Dennis I. Komarov (2011-11-17 17:18:00) [25]
procedure TryShow...
begin
if any then YourForm.Show;
end;
Хотя это ректально. Завтра еще что-нить понадобится...
upc (2011-11-17 17:14:00) [26]Не писать же мне это условие везде, где делается Show (а показывать форму, как я уже сказал, нужно из разных мест программы).
Лучше написать один раз это условие, но только я не знаю где.
Dennis I. Komarov (2011-11-17 17:13:00) [27]
> то есть много где делается Show для данной формы.
> Но, если одно условие не выполняется, то мне не нужно, что
> бы она показывалась.
Какие еще могут быть вопросы? Show - Показать
upc (2011-11-17 17:08:00) [28]Форма может вызываться из многих частей программы, то есть много где делается Show для данной формы.
Но, если одно условие не выполняется, то мне не нужно, что бы она показывалась.
Можно, конечно, везде где делается вызов формы написать это условие и в зависимости от него делать или не делать Show, но это ведь не рационально!
Лучше сделать эту проверку где-нибудь в одном месте...
Jeer (2011-11-17 17:04:00) [29]Ты о главном расскажи, тогда ответы попадут ближе.