Ошибка while writing occurred

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ошибка while writing occurred

Сообщение Ildus » 08.02.2019 20:01:27

Здравствуйте, софорумцы!
Я программировал, вроде все было хорошо, таблица сохранялась, и тут, БАХ, вылазит ошибка
2019-02-08_20-57-55.png

Места на диске полно.

Вроде, с кодом все в порядке.
Код: Выделить всё
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, dbf, db, FileUtil, RTTIGrids, PrintersDlgs, Forms,
  Controls, Graphics, Dialogs, StdCtrls, DBGrids, Buttons, ExtCtrls, DbCtrls,dbf_common;

type

  { TForm1 }

  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    Admin: TBitBtn;
    BitBtn2: TBitBtn;
    DataSource1: TDataSource;
    DBNavigator1: TDBNavigator;
    Table: TDBGrid;
    Doctavka: TDbf;
    PrintDialog1: TPrintDialog;
    procedure AdminClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
    procedure FormCreate(Sender: TObject);
  private

  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  if FileExists('baza.dbf') then
  begin
  With Doctavka do
      begin
      Close;
      TableName:=('baza.dbf');
      Open;
      end;
  end
  else begin
      Doctavka.TableName:=('baza.dbf');
        Doctavka.TableLevel:=7;
  With Doctavka.FieldDefs do
      begin
      Add ( 'ГОТОВНОСТЬ' , ftBoolean ,  10 ,  True ) ;
       Add ( 'ИНФОРМ. О КЛИЕНТЕ АДРЕС ИМЯ ТЕЛЕФОН' , ftString , 40 ,  True ) ;
        Add ( 'СУП+ВТОРОЕ' , ftInteger ,  32 ,  True ) ;
        Add ( 'САЛАТ+ВТОРОЕ' , ftInteger ,  32 ,  True ) ;
        Add ( 'ПОЛНЫЙ ОБЕД' , ftInteger,  32 ,  True ) ;
        Add ( 'СУП+САЛАТ' , ftInteger ,  32 ,  True ) ;
                Add ( 'ВТОРОЕ' , ftInteger ,  32 ,  True ) ;
                 Add ( 'КОММЕНТАРИЙ' , ftString , 40 ,  True ) ;
                       Add('ВОДИТЕЛЬ',ftString ,  32 ,  True );
                 Add ( 'СУММА ЗАКАЗА' , ftInteger , 40 ,  True ) ;
      end;
  Doctavka.CreateTable;
  ShowMessage('Пожалуйста, перезагрузите приложение!');
  end;
DataSource1.AutoEdit:=True;
end;

procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
Doctavka.Close;
end;

procedure TForm1.AdminClick(Sender: TObject);
begin
      Doctavka.ReadOnly:=False;
        DBNavigator1.Visible:=True;
end;

end.


Добавлено спустя 1 час 50 минут 10 секунд:
Я проблему обошел, используя TSdfDataSet.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ildus
новенький
 
Сообщения: 40
Зарегистрирован: 12.10.2018 19:35:38

Re: Ошибка while writing occurred

Сообщение Лекс Айрин » 09.02.2019 01:55:35

Ildus, смахивает на проблему с правами файла.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Alex2013 и гости: 18

Рейтинг@Mail.ru