Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2010, 09:37   #1
AK BULLETS
Пользователь
 
Регистрация: 18.03.2010
Сообщений: 88
По умолчанию Visible формы. Откуда show

Добрый день!

Хочу, чтобы при открытии второй формы по кнопке на первой форме, первая форма стала невидима. При закрытии второй формы - первая видима. Но, почему то при этом

procedure TForm_MONITORING_PIR.FormClose(Send er: TObject;
var Action: TCloseAction);
begin
Form_OSNOVA.Visible:=true;
end;

Попадаю на procedure TForm_OSNOVA.FormShow(Sender: TObject);

Как сделать так, чтобы форма появилась, но на show я не попадал.
AK BULLETS вне форума Ответить с цитированием
Старый 06.04.2010, 09:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но на show я не попадал.
А ты не в OnShow пропиши нужный код а в OnActivate
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.04.2010, 10:02   #3
AK BULLETS
Пользователь
 
Регистрация: 18.03.2010
Сообщений: 88
По умолчанию

Такой вариант не подхродит.
Потому что
при появлении первой формы загружается много данных из базы данных и это дело тормозит. По этому я хочу это делать один раз. По этому при открытии второй формы мне нужно просто скрыть первую а при закрытии второй не обновлять (открывать) первую, а просто отобразить.
То есть чтобы данные не загружались.
AK BULLETS вне форума Ответить с цитированием
Старый 06.04.2010, 10:10   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А если так:
На первой форме в событии кнопки:
Код:
Form1.Hide;
Form2.Show;
На второй форме при закрытии (по кнопке например):
Код:
Form2.Hide; //или Form2.Close;
Form1.Show;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 06.04.2010, 10:16   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
По этому я хочу это делать один раз.
Дык в OnCreate делай.
И между прочим я такие вещи всегда в поток пихаю, чтоб программе не мешал чего и тебе желаю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.04.2010, 10:19   #6
AK BULLETS
Пользователь
 
Регистрация: 18.03.2010
Сообщений: 88
По умолчанию

)) Друг. Я так и делаю. Но это мне не подходит!) Почему, я описал выше.
В процедуре Form1.show и меня загружаются данные из БД.
Я хочу их загружать только один раз!
По этому при Form2.show мне нужно чтобы первая форма просто не отображалась, а при Form2.close - первая форма отображалась, но Form1.show не отрабатывало!
По этому думал решить вопрос при помощи Form1.Visible, но при Form1.Visible:=true я опять попадаю на Form1.show.
AK BULLETS вне форума Ответить с цитированием
Старый 06.04.2010, 10:20   #7
AK BULLETS
Пользователь
 
Регистрация: 18.03.2010
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Дык в OnCreate делай.
И между прочим я такие вещи всегда в поток пихаю, чтоб программе не мешал чего и тебе желаю.

О... А как это?
AK BULLETS вне форума Ответить с цитированием
Старый 06.04.2010, 10:23   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
при появлении первой формы загружается много данных из базы данных и это дело тормозит. По этому я хочу это делать один раз.
Кто мешает это (загружать данные) делать не в formshow (несколько раз) а в formCreate(один раз)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 06.04.2010, 10:24   #9
AK BULLETS
Пользователь
 
Регистрация: 18.03.2010
Сообщений: 88
По умолчанию

Если помещаю код в FormCreate при запуске появляется ошибка (
AK BULLETS вне форума Ответить с цитированием
Старый 06.04.2010, 10:26   #10
AK BULLETS
Пользователь
 
Регистрация: 18.03.2010
Сообщений: 88
По умолчанию

Application.Initialize;
Application.CreateForm(TForm_START, Form_START);
Application.CreateForm(TForm_OSNOVA , Form_OSNOVA); - тут код
Application.CreateForm(TForm_SPR_FI LIAL, Form_SPR_FILIAL); - тут ошибка
Application.CreateForm(TForm_SPR_OB J_TIP, Form_SPR_OBJ_TIP);
Application.CreateForm(TForm_SPR_RA ZDEL, Form_SPR_RAZDEL);
AK BULLETS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос на засыпку по show columns smoke888 SQL, базы данных 5 17.09.2012 12:46
UserForm Hide Show Insainer Microsoft Office Excel 9 28.11.2010 16:31
VISIBLE формы - ◄ON► ◄OFF► Alex Cones Win Api 2 28.11.2009 23:16
form.show в коде проекта Ozerich Общие вопросы Delphi 2 30.08.2008 22:05
then Form2.Show; beegl Общие вопросы Delphi 24 24.07.2008 09:53