Текущий архив: 2003.03.27;
Скачать: CL | DM;
ВнизКак программно отключить обработчик события OnCalcFields ? Найти похожие ветки
← →
Grey (2003-03-14 11:21) [0]Мастера, подскажите пожалуйста , как программно на время отключить обработчик события OnCalcFields , а потом его восстановить ?
← →
Anatoly Podgoretsky (2003-03-14 11:30) [1]Стандартный оператор Паскаля :=
← →
Grey (2003-03-14 11:33) [2]>Anatoly Podgoretsky
А конкретнее как?
делаю сначала InputQuery.OnCalcFields:= nil;
а на Query.OnCalcFields:= QueryCalcFields(DataSet); выдаёт ошибку что не совместимые типы TDataSetNotifyEvent и процедура
← →
Smithson (2003-03-14 11:35) [3]Во-первых, его действиетльно можно присвоить nil.
Во-вторых, можно определить некий флаг, который проверять в обработчике. Если он взведен тогда завершение процедуры.
← →
Anatoly Podgoretsky (2003-03-14 12:04) [4]Grey (14.03.03 11:33)
Ну первую часть с nil выполнил правильно, а вот вторую конечно ересь, надо или присвоить или сохраненый обработчик или предопределенный, тоже с помощью :=.
← →
icWasya (2003-03-14 12:30) [5]
TForm1.RoutineWithoutCalcFields;
var OldCalc:TDataSetNotifyEvent;
begin
OldCalc:=InputQuery.OnCalcFields;
try
InputQuery.OnCalcFields:= nil;
//........
InputQuery.insert;
.... или что у Вас там
InputQuery.Post;
//.......
finally
InputQuery.OnCalcFields:= OldCalc;
end;
end;
← →
Grey (2003-03-14 13:14) [6]>icWasya © (14.03.03 12:30)
Спасибо.
← →
Mike Kouzmine (2003-03-14 15:02) [7]AutoCalcFields := False?
Страницы: 1 вся ветка
Текущий архив: 2003.03.27;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.008 c