![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прерывание... [D5, Paradox, ]
Грифон © (2001-12-17 23:58:00)БД заполняется через компоненты DBEdit и подобные. Так вот если не все поля заполнены, то прога автоматически генерирует прерывание о не заполненном поле при выполнении
if Table1.State in [dsInsert,dsEdit] then
Table1.Post;
Все логично, но мне хотелось бы, чтоб при этом выводилось мое сообщение. В каком месте мне надо ловить это прерывание и писать свою строчку. А еще, если просто переходишь к другой записи в Table1 скажем мышкой, то прерывание также генерируется.
Если можно, с примером.
panov (2001-12-18 20:56:00) [1]Пример от <panov © (18.12.01 16:04)> будет срабатывать на каждое поле(после небольшой модификации).
Системных сообщений об ошибке
Someone (2001-12-18 18:24:00) [2]имхо, решение одно. Отказаться от Required, а в BeforePost самому проверять, все ли поля введены, и если нет, то своё сообщение и Abort.
Polevi (2001-12-18 16:25:00) [3]Someone ©
Верно, не подумал
panov (2001-12-18 16:04:00) [4]Например, так:
TForm1 = class(TForm)
...
procedure FieldSetText(Sender: TField; const Text: String);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.Fields[0].OnSetText := FieldSetText;
end;
procedure TForm1.FieldSetText(Sender: TField; const Text: String);
begin
...
if <проверка формата> then
begin
Table1.Fields[0].Value := Text;
end
else
begin
ShowMessage(Text);
end;
end;
Someone (2001-12-18 15:36:00) [5]2 Polevi
Из вопроса:
> А еще, если просто переходишь к другой записи в Table1 скажем мышкой, то > прерывание также генерируется
Polevi (2001-12-18 15:26:00) [6]try
Post
except
lalala
end;
2 Nest (2001-12-18 14:51:00) [7]То же самое. BeforePost вызывается тоже после CheckRequiredFields.
Nest (2001-12-18 09:25:00) [8]BeforePost?
2 Ю.Ю. (2001-12-18 04:15:00) [9]А ты сам пробовал свой совет? OnPostError вызывается ПОСЛЕ CheckRequiredFields, в котором и вылетает прога Грифона.
Ю.Ю.(первый и единственный) (2001-12-18 03:16:00) [10]Напр., в обработчике Table1.onPostError