Hello, I am trying to use TSdfDataset, but without success. I get the following crash:
Breakpoint 1, 0x0000f386 in fpc_raiseexception () (gdb) bt #0 0x0000f386 in fpc_raiseexception () #1 0x001e0009 in DB_TFIELD_$__GETASVARIANT$$VARIANT () #2 0x0002dd4d in TMAINFORM__CREATE (AOWNER=0x134d010, vmt=0x1, this=0x1363900) at app.pas:204 #3 0x0002b563 in TAPPLICATION__CREATEFORM (INSTANCECLASS=<incomplete type>, REFERENCE=void, this=0x134d010) at application.inc:1749 #4 0x00001da4 in PASCALMAIN () at turbocircuit.dpr:47 #5 0x0001bb15 in SYSTEM_FPC_SYSTEMMAIN$LONGINT$PPCHAR$PPCHAR () #6 0x00001d42 in _start () #7 0x00001c69 in start () For SQLite I just activate the dataset and everything works. For TSdfDataset it didn't work, so I tryed manually setting the fields in my dataset, but it still doesn't work, and the crash appears in a rather strange place, as the main form has no database code. It's in a units initalization code instead: constructor TComponentsDatabase.Create; var MyField: TField; begin inherited Create; FDataset := TSdfDataset.Create(nil); FDataset.FileName := vConfigurations.ComponentsDBFile; // FDataset.TableName := STR_DB_COMPONENTS_TABLE; // FDataset.PrimaryKey := STR_DB_COMPONENTS_ID; MyField := TField.Create(nil); MyField.FieldName := 'ID'; MyField.SetFieldType(ftInteger); FDataset.Fields.Add(MyField); MyField := TField.Create(nil); MyField.FieldName := 'NAMEEN'; MyField.SetFieldType(ftString); FDataset.Fields.Add(MyField); MyField := TField.Create(nil); MyField.FieldName := 'NAMEPT'; MyField.SetFieldType(ftString); FDataset.Fields.Add(MyField); MyField := TField.Create(nil); MyField.FieldName := 'HEIGHT'; MyField.SetFieldType(ftString); FDataset.Fields.Add(MyField); MyField := TField.Create(nil); MyField.FieldName := 'WIDTH'; MyField.SetFieldType(ftInteger); FDataset.Fields.Add(MyField); MyField := TField.Create(nil); MyField.FieldName := 'PINS'; MyField.SetFieldType(ftInteger); FDataset.Fields.Add(MyField); MyField := TField.Create(nil); MyField.FieldName := 'DRAWINGCODE'; MyField.SetFieldType(ftMemo); FDataset.Fields.Add(MyField); FDataset.Active := True; end; Any ideas how to get TSdfDataset working? thanks, -- Felipe Monteiro de Carvalho _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal