Hello,
Using TSdfDataset my records are cut to fit 255 chars, even when I change the new MaxRecordLength property to 2048. This is a very elusive bug, and I am searching all over for the cause without success =(
I searched everywhere for a shortstring, which could be the cause, but didn't find any. Any ideas?
I was not able to debug inside FCL, maybe the standard build comes without debug info? I was able to debug the sdfdata unit because I am using it locally in my project, because I am using FPC 2.2.2 and when the flow of events comes to TFIXEDFORMATDATASET__SETFIELDDATA the string is already cutted and in TDBDRAWINGCODEMEMO__UPDATEDATA it was correct, so it must have been cutted in the FCL somewhere in between.
My data is comming from a modifyed TDBMemo, and I already certified that my Memo is giving a correct string to the dataset.
Here is the chain of events that happen when I click in a button that will call Post for the dataset:
#0 TFIXEDFORMATDATASET__SETFIELDDATA((^TFIELD) 0x14f358, (POINTER) 0x6d430, (TFIXEDFORMATDATASET) 0xbede0) at sdfdata.pp:674 <<<--------- String is cutted to 255 chars
#1 DB_TDATASET_$__SETFIELDDATA$TFIELD$POINTER$BOOLEAN at :0 #2 DB_TFIELD_$__SETDATA$POINTER$BOOLEAN at :0
#3 DB_TFIELD_$__SETDATA$POINTER at :0
#4 DB_TSTRINGFIELD_$__SETASSTRING$ANSISTRING at :0 #5 TDBDRAWINGCODEMEMO__UPDATEDATA((^TOBJECT) 0x159490, (TDBDRAWINGCODEMEMO) 0x10a750) at dbcomponents.pas:340 <<<------ String is correct
#6 TFIELDDATALINK__UPDATEDATA((TFIELDDATALINK) 0x159490) at dbctrls.pp:1312 #7 DB_TDATALINK_$__UPDATERECORD at :0
#8 TDBDRAWINGCODEMEMO__EDITINGDONE((TDBDRAWINGCODEMEMO) 0x10a750) at dbcomponents.pas:372
#9 TCONTROL__MOUSEDOWN(MBLEFT, [SSLEFT], 8, 13, (TCONTROL) 0x11d280) at control.inc:3219
#10 TCUSTOMSPEEDBUTTON__MOUSEDOWN(MBLEFT, [SSLEFT], 8, 13, (TCUSTOMSPEEDBUTTON) 0x11d280) at speedbutton.inc:635
