Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как закрыть форму поиска по базе данных? [D6, WinXP]


Нулевой ©   (2005-02-11 12:29:00) 

При нажатии на кнопку (на главн. форме) появляется форма поиска.
В edit водят чего-то...далее код формы поиска примерно так:
procedure TFormSearch.SearchBtnClick(Sender: TObject);
 FormSearch.Hide;
 FormSearch.Close;
 DataSet.Close;
 SQL.Add;
 ....
 DataSet.Open;
 ...
end;
сама форма поиска создается так
procedure FormSearch_Show;
var
 Frm: TForm;
begin
 Frm := TForm.Create(Application);
 try
   Frm.ShowModal;
 finally
   Frm.Free;
 end;
end;
Проблема в том, что при нажатии кнопки НАЙТИ
форма исчезает на половину, добавлял перед Close - Update формы
результат нулевой.
В случае без FormSearch.Hide форма висит - кнопка вдавлена.
Как правильно обработать эту ситуацию?
Хотелось бы чтоб при нажатии кнопки НАЙТИ
форма исчесла сразу // вопрос ??? как !?
курсор часы // понятно как
после DataSet.Open вернуть курсор //здесь понятно
Правда в базе примерно 100000 записей. FB1.5-FBPLUS
Когда записей немного проблем нет. Все быстро.
Помогите кто чем может. Спасибо.


Нулевой   (2005-02-11 14:09:00) [1]

Стормозил...
Мне подошло проще ГлавнФорма.Update, чё сразу не увидел, закипел.
Кнопки в проекте левые Свойства ModalResult - нет.
Спасибо всем!


Ega23   (2005-02-11 13:55:00) [2]

Можно и так...


Ega23   (2005-02-11 13:55:00) [3]

Можно и так...


DesWind   (2005-02-11 13:34:00) [4]

Я эт вешаю на CloseQuery


Ega23   (2005-02-11 13:27:00) [5]

Тока кнопкам на форме в свойстве ModalResult тож нада проставить mrOk и mrCancel соответственно

Само-собой.
Только я предпочитаю только кнопке "Отмена" ModalResult выставлять.
На "ОК" ("Применить", "Найти" и т.п.) обычно следующий код идёт:


begin
if not Проверка_На_Дурака then Exit; // смотрим, чтобы везде стояли адекватные значения

if not ConfirmMessage then Exit;

  Do Something;

ModalResult:=mrOK;
end;


DesWind   (2005-02-11 13:16:00) [6]

Тока кнопкам на форме в свойстве ModalResult тож нада проставить mrOk и mrCancel соответственно


Ega23   (2005-02-11 13:12:00) [7]

т.е. как я понял так
try
 Frm.ShowModal;
//добавить
DataSet.Close;
SQL.Add;
....
DataSet.Open;
//
finally
 Frm.Free;
end;


Ага. Только
try
 Frm.ShowModal;
 if Frm.ModalResult=mrOK then
  ....


Нулевой   (2005-02-11 13:03:00) [8]

Frm.Destroy - не помогат.

Ega23
т.е. как я понял так
try
  Frm.ShowModal;
//добавить
DataSet.Close;
SQL.Add;
....
DataSet.Open;
//
finally
  Frm.Free;
end;


Нулевой   (2005-02-11 13:00:00) [9]

Frm.Destroy - не помогат.

Ega23
т.е. как я понял так
try
  Frm.ShowModal;
//добавить
DataSet.Close;
SQL.Add;
....
DataSet.Open;
//
finally
  Frm.Free;
end;


Jay1982   (2005-02-11 12:34:00) [10]

Frm.Destroy ?


Jay1982   (2005-02-11 12:33:00) [11]

Frm.Destroy ?


Ega23   (2005-02-11 12:32:00) [12]

Вставь операции поиска после Frm.ShowModal. При этом анализируй ModalResult.


Наверх

Титульная страница Поиск, карта сайта Написать письмо