![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как закрыть форму поиска по базе данных? [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.