I am using 4.1.3 - when you use TWIDESTING Fields - e.g.
varchar (80 char) and insert/edit the 80th character gets
lost ... I traced it to:
procedure TOracleDataSet.FieldToRecord(Field: TField; FieldIsNull: Boolean;
FieldData: Pointer; RecordData: PRecordData);
var OffSet, DataSize: Integer...
Marco,
could you please check the following fixes:
ds := Size * 2 + 2; was ds := Size * 2;
function TOracleDataset.GetRecBufSize: Integer;
var i: Integer;
ds: Integer;
FI: TOracleFieldInfo;
begin
Result := 0;
FRecordSize := 0;
for i := 0 to FieldCount - 1 do with Fields[i] do...
Macro,
regarding the "Record has been changed ...", if've checked the compare and found that the following would fix it:
function TOracleDataSet.CompareFieldToVariant(AField: TField; const AValue: Variant; CompareOld: Boolean): Boolean;
...
nq := VarIsNull(AValue) or...
Marco,
you are using the SysUtils.TrimRight function. This function
deletes all characters 0) and (S[I] > ' ') then Exit(S);
while (I > 0) and (S[I] = ' ') do Dec(I);
Result := Copy(S, 1, I);
end;
Marco,
here is a demo:
http://www.nhd.com/nhddownload/SM/DemoProblem.2011-12-03.01.zip
You need to create the demo table within a unicode database (I am using Oracle 11.2.0.2 Patch 13). The SQL Script loads one record - you might need to modify the queries.
When the program does a .Edit you...
Well, this helps -
just a small problem -
how to set this flag in all Queries within
my software .... 4200 changes in 577 files ?!
Is there any global option ?
Nils
Hello,
if I access a unicode database DOA will return a wrong
string length. E.g. if the Field is defined with 40 characters I will get a length of 160. (These are the bytes used within Oracle - not the Delphi string length).
Any plans to correct this ?`
Nils
Well, it always worked - just stopped with this
installer - no errors nothing. I created the installation
manually - from the temp directory - the correct BPL's
were already in place.
Nils
Hello,
I found the following problem:
a) The installation delete all entries with my Delphi library path
b) The OLD DOA installation was not removed.
c) The new files where copied to: C:\Users\nils\AppData\Local\Temp\Direct Oracle Access 412
d) But the Library path was set to "$(BDS)\DOA"
Nils
When editing an SQL Formula I get the following error
message - from time to time:
[5000D352]{rtl140.bpl } System.@WStrFromUStr (Line 17277, "System.pas" + 3) + $0
[2196CDB5]{delphicoreide140.bpl} PropInspManage.TList.GetItem (Line 569, "Generics.Collections.pas" + 3) + $8...
Okay,
I did some further investigation ... it's the TOracleEvent
what is causing the problem ... when I removed it from
my project everything worked again.
Nils
I have the same problem here with Oracle 11GR1. It just
"started" - and I don't know why ...
I am running the follwing query:
select * from nhdcs.gatesystemeventqueue
where
mandant = :mandant and
trunc(EVENTTIME,'DDD') = :buchungsdatum and
cardnumber = :transponderid
order by...
hmmm,
no problem is that the field is an integer an I want it to be an integer - not a float. Anyway I will try
a cast number (9) and see what is happening.
Nils