Hello,
Today I retest the bug I issued under UniDAC2.0.
http://devart.com/forums/viewtopic.php?t=13464
Other problem stlll exists, how disappointment I am.
The steps is like:http://devart.com/forums/viewtopic.php?t=13464
TuniQuery do not set "insert sql","Update sql"......
A Field origin value is "华源", Field Type is varchar.
1. Edit the Field, set value to "华源中國", Post it, it is ok no problem.
2. Edit the origin value "华源中國" to "华源中", post it , it is no problem.
3. Edit the origin value "华源中" to "华源", post it , It will occurs error as blew.
---------------------------
Project1
---------------------------
Update failed. Found 0 records.
---------------------------
确定
---------------------------
So I canot use the vcl in delphi2009, Pls fix it ASAP.
Why still exists the serious bug in UniDAC 2.0 under D12
Error:
if (ParamVarType = varOleStr) {$IFDEF VER12P} or (ParamVarType = varUString) or (ParamVarType = varString){$ENDIF} then // WideString
l := Integer(StrLenW(ParamVarPtr) * SizeOf(WideChar))
else // Pascal string
l := Length(ParamDesc.Value);
Correct:
if (ParamVarType = varOleStr) {$IFDEF VER12P} or (ParamVarType = varUString) {$ENDIF} then // WideString
l := Integer(StrLenW(ParamVarPtr) * SizeOf(WideChar))
else // Pascal string
{$IFDEF VER12P}
l := Length(AnsiString(ParamDesc.Value));
{$ELSE}
l := Length(ParamDesc.Value);
{$ENDIF}[/code]
if (ParamVarType = varOleStr) {$IFDEF VER12P} or (ParamVarType = varUString) or (ParamVarType = varString){$ENDIF} then // WideString
l := Integer(StrLenW(ParamVarPtr) * SizeOf(WideChar))
else // Pascal string
l := Length(ParamDesc.Value);
Correct:
if (ParamVarType = varOleStr) {$IFDEF VER12P} or (ParamVarType = varUString) {$ENDIF} then // WideString
l := Integer(StrLenW(ParamVarPtr) * SizeOf(WideChar))
else // Pascal string
{$IFDEF VER12P}
l := Length(AnsiString(ParamDesc.Value));
{$ELSE}
l := Length(ParamDesc.Value);
{$ENDIF}[/code]