Talk:Lazarus Tdbf Tutorial

From Lazarus wiki
Revision as of 12:09, 20 April 2005 by Vincent (talk | contribs)
Jump to navigationJump to search

The following code

var
  MyDbf: TDbf;
begin
  try
    MyDbf := TDbf.Create(nil);
    { use relative path to "data" directory }
    // etc ..
    MyDbf.Close;
  finally
    MyDbf.Free;
  end;
end;

should have the Create statement outsite of the try .. finally construct. Because when something goes wrong with the creation what has been created will be automatically freed. (At least this way it is in Delphi) So I would advise to change to code to

var
  MyDbf: TDbf;
begin
  MyDbf := TDbf.Create(nil);
  try
    { use relative path to "data" directory }
    //etc.



Reenen: Hi there... My previous wiki experience was a more 'loose' forum like experience, so please forgive if I break any rules.


I just downloaded Lazarus yesterday (18 April 2005), and I am trying to teach myself a bit more of it.


So here I am trying to do this tutorial. At first I didn't have the tdbf component on my component bar. But I managed to find it on my installation and get it compiled and installed. (You might want to add how to do this into the tutorial, but as it is a tdbf tut, and not lazarus, it's your call)


Then I started to create my database... (I also downloaded the demo from tdbf's website, but this didn't work, but I assume it's a Delphi demo.


I read in the tutorial that we cannot create a table in a database desktop like thing, so we have to code.


This is where I ran into trouble.

procedure TMainForm.btnCreateDatabaseClick(Sender: TObject);
begin
   dbCardData.TableLevel := 7;
   dbCardData.TableName := 'Cards';
   with dbCardData.FieldDefs do  begin
       Add('CardName',ftString,256,True);
       Add('Edition',ftString,128,True);
       Add('CC',ftString,32,True);

My error was

mainUnit.pas(56,24) Error: Identifier not found "ftString"


Can anyone help me?

The | Lazarus database forum is probably a better place to ask these questions. Of course fixes to this tutorial are welcome.