Ideja mi je bila da se prilikom pokretanja aplikacije i ne pojavljuje DBGrid, već onda kada korisnik klikne na "New" ili na "Open". Uspešno sam rešio to design-time, ali mi sada run-time ne radi. Mora da sam negde nešto pogrešio prilikom dizajniranja forme.
Evo nekoliko kritičnih linija.
Code:
procedure TMainForm.FileNewClick(Sender: TObject);
var
s: String;
begin
s := ParamStr(0);
s := ExtractFilePath(s);
s := s + 'New.cds';
cds.FileName := s;
cds.Insert;
cds.Fields[0].AsInteger := 10;
cds.Fields[1].AsString := 'abcd';
cds.Fields[2].AsInteger := 12;
cds.Fields[3].AsFloat := 12.12;
cds.Fields[4].AsFloat := 122.24;
cds.Active := true;
end;
procedure TMainForm.FileOpenClick(Sender: TObject);
var
s: String;
begin
s := ParamStr(0);
s := ExtractFilePath(s);
OpenDialog1.InitialDir := s;
if OpenDialog1.Execute then
cds.LoadFromFile(OpenDialog1.FileName);
cds.Active;
end;
procedure TMainForm.FileNewClick(Sender: TObject);
var
s: String;
begin
s := ParamStr(0);
s := ExtractFilePath(s);
s := s + 'New.cds';
cds.FileName := s;
cds.Insert;
cds.Fields[0].AsInteger := 10;
cds.Fields[1].AsString := 'abcd';
cds.Fields[2].AsInteger := 12;
cds.Fields[3].AsFloat := 12.12;
cds.Fields[4].AsFloat := 122.24;
cds.Active := true;
end;
procedure TMainForm.FileOpenClick(Sender: TObject);
var
s: String;
begin
s := ParamStr(0);
s := ExtractFilePath(s);
OpenDialog1.InitialDir := s;
if OpenDialog1.Execute then
cds.LoadFromFile(OpenDialog1.FileName);
cds.Active;
end;
BTW, program upisuje u bazu (vidim da baza raste), ali nikako da se vidi DBGrid.