Bug in DOA 3.4.6.1

fneuhaus

Member
I believe there is a bug in TOracleDataSet.FetchRowId.
The line
if v = null or ((f.DataType = ftString) and (v = ''))
is evaluated in wrong order in Delphi 6. Delphi applies the OR-operator to the right side and compares then with the variable v.
This raises an exception of type EVariantInvalidOpError.
Following code solves the problem
if (v = null) or ((f.DataType = ftString) and (v = ''))
The situation occurs when a record is inserted in a query, which contains a ROWID and the properties UniqueFields and UpdatatingTable are set.
Best regards
Frank Neuhaus
CPA SoftwareConsult GmbH

------------------
 
This bug is fixed in the current 3.4.6 build for Delphi 6 (and 7).

------------------
Marco Kalter
Allround Automations
 
Thanks, it works now.
I got no email about this new 3.4.6.1 release although I'm a registered user. Is this correct?
 
No, that would not be correct. This was a Delphi 6 specific patch.

------------------
Marco Kalter
Allround Automations
 
Back
Top