DBFUniProvider - several errors

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Creator
Posts: 17
Joined: Wed 05 Jun 2013 18:33

DBFUniProvider - several errors

Post by Creator » Mon 27 May 2019 00:12

Hi,

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
SpecificOptions:
  • CodePage=dpCentralEuropeanDOS
  • Direct=True
  • DBFFormat=dfdBaseVII (important level 7)
properties of TUniSQL:
SQL.text := 'CREATE TABLE NewTable ( ID AUTOINC, NAME CHAR(20) )'

Error 1:
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

Error 2:
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:
try
UQ.Active := TRUE;
except
on E: Exception do Application.ShowException(E); // "Error readed N"
end;
if not UQ.Active then UQ.Active := TRUE; // now is OK


Error 3:
First added record has value of ID = 0
This value should be equal 1. Value 0 read by SELECT suggests empty table.

Error 4:
If table contains TmemoField, content MEMO is not translated correctly.
Maybe property "Transliterate" is not active.

Regards

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: DBFUniProvider - several errors

Post by MaximG » Wed 29 May 2019 14:45

We have sent the nightly build of our product with the latest changes to your email.
Please check the described behavior with the build and let us know about the results.

Creator
Posts: 17
Joined: Wed 05 Jun 2013 18:33

Re: DBFUniProvider - several errors

Post by Creator » Wed 29 May 2019 15:23

Thank you,
I installed new version and soon I will begin tests.

Regards

Creator
Posts: 17
Joined: Wed 05 Jun 2013 18:33

Re: DBFUniProvider - several errors

Post by Creator » Wed 29 May 2019 23:41

Hi,

After tests of nightly build "unidac74d26pro_28_05_2019.exe" I received following results:

Errors 1,2 became eliminated. There does not have problem with reading of tables by BDE and with opening of tables.
Error 3 still exists. In heading dbf, in table of description AutoincrementField - byte 42 (counted from 0) should contain value 1 not 0.
Error 4 also exists. Content TMemoField is not correctly translated from internal representation on content of component TDBMemo.

Unfortunately NEW Fatal Error appeared !
All type fields TStringField of table are represented in Grid as Memo - cell of grid contains inscription "(MEMO)" and is not editable. One checked this for several different tables Dbase 7. In this state DBFProvider is not usable.

Regards

Stellar
Devart Team
Posts: 496
Joined: Tue 03 Oct 2017 11:00

Re: DBFUniProvider - several errors

Post by Stellar » Thu 30 May 2019 11:19

Item 3 (Auto increment field).
Unfortunately, we couldn’t reproduce the issue. The value of the auto increment field equals 1 for the first record in a table when using UniDAC or BDE. 1. To investigate this behavior of UniDAC, please compose and send us a small sample demonstrating the issue, along with all files of the table that may help us reproduce the issue. For example, if your table is named Table_Name, please send us the Table_Name.* files (Table_Name.dbf and all Table_Name.* files).

Item 4 (Memo fields).
Please explain what do you mean by "Content TMemoField is not correctly translated from internal representation on content of component TDBMemo"?
Unfortunately NEW Fatal Error appeared
Thank you for the information. We have fixed the issue, and the fix will be included in the next UniDAC build.
We can offer you the nightly build of UniDAC with all necessary changes.

Creator
Posts: 17
Joined: Wed 05 Jun 2013 18:33

Re: DBFUniProvider - several errors

Post by Creator » Thu 30 May 2019 16:07

Hi,

Simple project "Test_ID.zip" concerning of error No. 3 was sent across https://www.devart.com/company/contactform.html
Abouth item 4 (Memo fields).
Across BDE I enter to table (codePage db852po0) into fields: "Memo" and "String" Polish national chars.
Then I pass to UniDAC (CodePage=dpPolishDOS") After opening of table in TUniQuery, field "String" shows correct national chars but field "Memo" incorrect.

Regards

Stellar
Devart Team
Posts: 496
Joined: Tue 03 Oct 2017 11:00

Re: DBFUniProvider - several errors

Post by Stellar » Wed 05 Jun 2019 14:58

Thank you for the information.
We have fixed the issue with memo fields encoding, and the fix will be included in the next UniDAC build.

Creator
Posts: 17
Joined: Wed 05 Jun 2013 18:33

Re: DBFUniProvider - several errors

Post by Creator » Wed 05 Jun 2019 16:41

Hi,

Thank you for solution of problem. Devart you are the best. Yours support is reliable.

Regards

Post Reply