Question:
Hi,Each time l try to create a table using code-not the database explorer, i get an error message:access violation at address 0042f540 read of address 7466654c.Whats the problem, how can l create a table using delphi code only?
Answer:
The only reason I can think of that explains this is that you’re not instantiating the TTable variable. For instance,
MyTable.CreateTable;
alone will not work. You have to set up the database, tablename, and tabletype, and fielddefs properties. Here’s a code snippet that I know works:
var tbl, sTbl : TTable; typStr : String; ch : Char;begin {Create and set up the Destination Table} tbl := TTable.Create(Application); with tbl do begin SessionName := ThrSes.SessionName; DatabaseName := ExtractFilePath(TblName); TableName := ExtractFileName(TblName); TableType := ttParadox; FieldDefs.Add('Field1', ftString, 10, False); FieldDefs.Add('Field2', ftString, 25, False); CreateTable; Free; end;
This is something that I pulled out from one of my own programs, and I know that it works – though I’ve edited it a bit for simplicity. You can use this code as a template.