I have this form <http://i17.tinypic.com/6f7aqn5.jpg>:

and I have this code:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs,
DBGrids,
  StdCtrls, SQLite3ds, db, DbCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    butAdd: TButton;
    butDelete: TButton;
    butSave: TButton;
    butToggle: TButton;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBGrid1: TDBGrid;
    procedure FormCreate(Sender: TObject);
    procedure ToggleActive;
    procedure butAddClick(Sender: TObject);
    procedure butDeleteClick(Sender: TObject);
    procedure butSaveClick(Sender: TObject);
    procedure butToggleClick(Sender: TObject);
  private
    dstest: TSqlite3Dataset;
    srcTest: TDatasource;
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  dsTest := TSqlite3Dataset.Create(nil);
  srcTest := TDatasource.Create(nil);
  srcTest.DataSet := dsTest;
  DBGrid1.DataSource := srcTest;
  DBEdit1.DataSource := srcTest;
  DBEdit2.DataSource := srcTest;
  with dsTest do
  begin
    FileName := 'Data.db';
    TableName := 'Customer';
    if not TableExists then
    begin
      FieldDefs.Clear;
      FieldDefs.Add('Code',ftAutoInc);
      FieldDefs.Add('Name',ftString);
      FieldDefs.Add('Address',ftString);
      CreateTable;
    end;
  end;
  ToggleActive;
  DBEdit1.DataField := 'Name';
  DBEdit2.DataField := 'Address';
  DBGrid1.
end;

procedure TForm1.ToggleActive;
begin
  if dsTest.Active = True then
    butToggle.Caption := 'Open DataBase'
  else
    butToggle.Caption := 'Close DataBase';
  //Close when is opened, Open when is closed
  dsTest.Active := not dsTest.Active;
end;

procedure TForm1.butAddClick(Sender: TObject);
begin
  dsTest.Append;
  dsTest.Post;
end;

procedure TForm1.butDeleteClick(Sender: TObject);
begin
  dsTest.Delete;
end;

procedure TForm1.butSaveClick(Sender: TObject);
begin
  dsTest.ApplyUpdates;
end;

procedure TForm1.butToggleClick(Sender: TObject);
begin
  ToggleActive;
end;

initialization
  {$I unit1.lrs}

end.

This code works correctly under Win32 but when I execute it under WinCE the
program runs more slowly.

I never can insert data at first time. If I try more times finally I can
insert a data in a field.

Why?

Is this normal?

Regards.

Reply via email to