Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 11.07.2011, 09:51
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59585
По умолчанию

выход: либо перед вызовом ShowModal (да и вообще перед созданием формы) проверять значение, либо PostMessage:
Код:
type
  TForm2 = class(TForm)
    procedure FormActivate(Sender: TObject);

procedure TForm2.FormActivate(Sender: TObject);
begin
  if Tag=0 then PostMessage(Handle, WM_CLOSE, 0, 0);
end;
но 2-ой вариант не красиво смотрится, т.к. форма успеет моргнуть на экране. 1-ый вариант идеален)
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #17  
Старый 11.07.2011, 14:52
VANNIK002 VANNIK002 вне форума
Прохожий
 
Регистрация: 01.06.2011
Сообщения: 28
Репутация: 10
По умолчанию

Всем желающим посмотреть проблему в кодах программы, выкладываю исходники. Правда без базы данных, как обещал. К проблеме база данных не имеет никакого отношения. Вопрос остаётся. Почему, и что надо сделать, чтобы из программы выйти именно в обработчике события FormActivate.

Использую Borland Developer Studio 2006. Вдруг это важно.
Вложения
Тип файла: rar Проблема.rar (10.0 Кбайт, 8 просмотров)

Последний раз редактировалось VANNIK002, 11.07.2011 в 14:56.
Ответить с цитированием
  #18  
Старый 11.07.2011, 15:35
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59585
По умолчанию

Цитата:
Сообщение от VANNIK002
Вопрос остаётся. Почему, и что надо сделать, чтобы из программы выйти именно в обработчике события FormActivate.
см. выше на 2-4 поста!!!
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #19  
Старый 11.07.2011, 16:50
VANNIK002 VANNIK002 вне форума
Прохожий
 
Регистрация: 01.06.2011
Сообщения: 28
Репутация: 10
По умолчанию

Всем спасибо.
Я получил ответ на свой вопрос.
NumLockу, Вам спасибо за посты #15 и #16. Для меня вариант 2 предпочтительнее. Остался вопрос: почему в разных местах программы Close работает по разному. Ну это больше для самообразования.
Если кто нибудь ответит по поводу исходников, с удовольствием прочитаю.
ARTу. Посмотрите пожалуйста мои исходники. Там увидите, что Form2.Close не всегда работает. Для меня это до сих пор странно, хоть что то и поня.
Еще раз всем спасибо.
Вложения
Тип файла: rar Проблема.rar (10.0 Кбайт, 6 просмотров)

Последний раз редактировалось VANNIK002, 12.07.2011 в 12:51.
Ответить с цитированием
  #20  
Старый 11.07.2011, 17:30
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Тебе нужно написать еще один метод, например Execute. Как это сделано в Диалогах.
Код:
procedure TF_AddValueParam.Execute;
begin
  .... 
  ....
  if n = 0 then Exit;
  ShowModal;
  ....
  ....
end;
А в вызывающем коде
Код:
 F_AddValueParam := TF_AddValueParam.Create(Self);
  F_AddValueParam.User := User;
  F_ValueList.Visible := False;
  F_AddValueParam.Execute; // <<==-- здесь
  F_AddValueParam.Free;
  F_ValueList.Visible := True;
Ответить с цитированием
  #21  
Старый 11.07.2011, 18:13
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

VANNIK002, не могу посмотреть исходники. Я не могу качать с этого сайта
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:09.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter