В принципе вопрос в теме. Не могу правильно написать обработку события OnSetText. Понимаю что вопрос для кого-то банальный, однако бьюсь уже не один день.
Вот что есть:
- Код: Выделить всё
type
{ TForm3 }
.......................................
procedure SetText(Sender: TField; const AText: string);
procedure OpenPageControl;
.......................................
implementation
{$R *.lfm}
{ TForm3 }
procedure TForm3.SetText(Sender: TField; const AText: string);
begin
try
Sender.AsFloat := StrToFloat(AText);
except
ShowMessage('Введено неверное число');
Abort; // Запрещаем очистку ячейки и выход из неё
end;
end;
.......................................
procedure TForm3.OpenPageControl;
var
c:integer;
begin
for c:=2 to 10 do
begin
Form3.DBGrid1.Columns[c].Field.OnSetText:=SetText;
end;
.......................................
При компиляции Lazarus выдает след ошибки:
unit3.pas(159,49) Error: Wrong number of parameters specified for call to "SetText"
unit3.pas(76,18) Error: Found declaration: SetText(TField;const AnsiString);
Код должен обрабатывать набранный текст пользователем в DBGrid. Если пользователь ввел число не правильно, выводится соответствующее сообщение с Абортом ).
Прошу помочь кто чем может... Или навести на мысль.