My environment: Windows 10, Delphi 10.3 Update 1, UniDac 7.4.12
Creating of table Dbase 7 by components TUniConnection and TUniSQL
properties of TUniConnection:
ProviderName = DBF
- DBFFormat=dfdBaseVII (important level 7)
SQL.text := 'CREATE TABLE NewTable ( ID AUTOINC, NAME CHAR(20) )'
Created table has incompatible heading with BDE
Byte No. 28 (counted from 0) contains number of language.
Language name is always equal "DBWINUS0"
BDE requires (for level 7) so that byte 28 contain "0" and proper language name.
( for Polish I use "db852po0" )
Opening table in BDE we will receive error: "Corrupt table/index header"
Change of property CodePage in TUniConnection does not change this state
After manual having of heading table we open table by object TUniQuery (name UQ)
We receive enigmatic error message: "Error readed 0"
"Error readed N" happens again for different tables Dbase 7 with different numbers "N"
But for some tables lack of error.
This error does not appear after renewed opening of table:
UQ.Active := TRUE;
on E: Exception do Application.ShowException(E); // "Error readed N"
if not UQ.Active then UQ.Active := TRUE; // now is OK
First added record has value of ID = 0
This value should be equal 1. Value 0 read by SELECT suggests empty table.
If table contains TmemoField, content MEMO is not translated correctly.
Maybe property "Transliterate" is not active.