Под windows все компилируется и работает без проблем, а под Ubuntu Linux при компиляции ругается нехорошими словами:
- Код: Выделить всё
identifier idents no member "Field"
на строчку
- Код: Выделить всё
if ListKvit.Columns[0].Field.Value='1' then ListKvit.Columns[0].Field.Value:='0' else ListKvit.Columns[0].Field.Value := '1';
вот полный кусок кода:
- Код: Выделить всё
procedure TFmMain.ListKvitKeyPress(Sender: TObject; var Key: char);
begin
if (Key = ' ') then
Begin
Key := #0;
ListKvit.DataSource.DataSet.Edit;
if ListKvit.Columns[0].Field.Value='1' then ListKvit.Columns[0].Field.Value:='0' else ListKvit.Columns[0].Field.Value := '1';
ListKvit.DataSource.DataSet.Post;
if ListKvit.DataSource.DataSet.RecNo<ListKvit.DataSource.DataSet.RecordCount then ListKvit.DataSource.DataSet.Next;
end;
end;
вопрос - как заставить компилятор под Linux скушать строчку?
Добавлено спустя 8 минут 31 секунду:
вопрос снимается - переписал код:
- Код: Выделить всё
if ListKvit.DataSource.DataSet.FieldByName('tKomplekt').AsString='1' then ListKvit.DataSource.DataSet.FieldByName('tKomplekt').AsString:='0' else ListKvit.DataSource.DataSet.FieldByName('tKomplekt').AsString := '1';
все заработало в обоих системах.
мораль сей басни такова - нефиг писать кривой код - однажды он даже не скомпилится