we have searched for over 6 months for errors in our application. We had some customers, reporting false values within some fields. I think i have found an bug.

create a application with two tadstable (both are linked to the same table) components bound to a dictionary.

you need a table in your dictionary at least with 3 fields: 1. field: vpos, char(20) 2. field: vname, nchar(16) 3. field: vnumber: integer

now use following function to copy:

procedure CopyTableData(von: tdataset; nach: tdataset); var i1, vfieldcount: integer; feld: string; begin nach.append; vfieldcount := von.fields.count;

// copy all fields
// this is working without problems
for i1 := 1 to vfieldcount do
    feld := von.fields[i1 - 1].FullName;
    if nach.FindField(feld) <> NIL then
        if (nach.FindField(feld).FieldKind <> fkLookup) then
                nach.fieldvalues[feld] := von.fieldvalues[feld] except

// define
nach.fieldvalues['vname']:='ALEXANDER BOBRICK';

// this has produced:
// vnumber = 75 (ascii code of K !!!)



Call this function as follows:

copytabledata(myfirstTable, mySecondTable);

the overflow of field vname produces 75 in field vnumber or in the next field within your table-structure!!

we're using delphi XE2 with ads-components (ACE 10.10) connected to a windows-ads-server, 64bit, Version

Urgent help needed!

asked 17 Sep '13, 05:12

MicrotronX's gravatar image

accept rate: 12%

Now i see, everywhere we assign a value bigger than the nchar field is overwriting the next field in table structure!

(17 Sep '13, 05:24) MicrotronX

Same behaviour also with ads-components in delphi-xe2 in version;

(17 Sep '13, 05:41) MicrotronX

Same problem with ads-server (windows) and client-dll

(17 Sep '13, 05:42) MicrotronX

Assigning the fieldvalue with "nach.fieldbyname('vname').asstring" is also overwriting the next field

(17 Sep '13, 05:47) MicrotronX

Thank you for the bug report! This bug will be fixed in the next TDataSet update, which will be released very soon. (Incidentally, we are currently testing a TDataSet version that supports Delphi XE5. The fix for this bug will be added to the new XE5 release.) I will update this response when the fix is available with the specific version number that you need to download.

Update: The updated components are now available in the download section of the DevZone. Look for version or (based on what's appropriate for your server version.)


answered 17 Sep '13, 14:45

Jed%20Thomet's gravatar image

Jed Thomet
accept rate: 38%

edited 23 Sep '13, 13:33

Is it enough to update the delphi tdataset or do i need update all client-dlls to

(25 Sep '13, 07:21) MicrotronX

It is sufficient to update the TDataSet and build your application with the new TDataSet. (Installing the new TDataSet will also install the new DLLs to your machine; but you do not need to distribute new DLLs for this fix.)

(27 Sep '13, 09:25) Jed Thomet
Your answer to the original question.
If responding to a request for additional information, please edit the question or use the comment functionality.
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: 17 Sep '13, 05:12

Seen: 1,900 times

Last updated: 27 Sep '13, 09:26

Advantage Developer Zone Contact Us Privacy Policy Copyright Info

Powered by Advantage Database Server and OSQA
Disclaimer: Opinions expressed here are those of the poster and do not necessarily reflect the views of the company.