Под 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';
все заработало в обоих системах.
мораль сей басни такова - нефиг писать кривой код - однажды он даже не скомпилится







