|
@@ -2238,7 +2238,7 @@ implementation
|
|
(tve_single,tve_dblcurrency,tve_extended,
|
|
(tve_single,tve_dblcurrency,tve_extended,
|
|
tve_dblcurrency,tve_dblcurrency,tve_extended);
|
|
tve_dblcurrency,tve_dblcurrency,tve_extended);
|
|
variantstringdef_cl: array[tstringtype] of tvariantequaltype =
|
|
variantstringdef_cl: array[tstringtype] of tvariantequaltype =
|
|
- (tve_sstring,tve_astring,tve_astring,tve_wstring,tve_unicodestring);
|
|
|
|
|
|
+ (tve_sstring,tve_astring,tve_astring,tve_wstring,tve_ustring);
|
|
begin
|
|
begin
|
|
case def.typ of
|
|
case def.typ of
|
|
orddef:
|
|
orddef:
|
|
@@ -2437,9 +2437,9 @@ implementation
|
|
else if (currvcl=tve_boolformal) or
|
|
else if (currvcl=tve_boolformal) or
|
|
(bestvcl=tve_boolformal) then
|
|
(bestvcl=tve_boolformal) then
|
|
if (currvcl=tve_boolformal) then
|
|
if (currvcl=tve_boolformal) then
|
|
- result:=ord(bestvcl in [tve_chari64,tve_sstring,tve_astring,tve_wstring])
|
|
|
|
|
|
+ result:=ord(bestvcl in [tve_chari64,tve_sstring,tve_astring,tve_wstring,tve_ustring])
|
|
else
|
|
else
|
|
- result:=-ord(currvcl in [tve_chari64,tve_sstring,tve_astring,tve_wstring])
|
|
|
|
|
|
+ result:=-ord(currvcl in [tve_chari64,tve_sstring,tve_astring,tve_wstring,tve_ustring])
|
|
{ byte is better than everything else (we assume both aren't byte, }
|
|
{ byte is better than everything else (we assume both aren't byte, }
|
|
{ since there's only one parameter and that one can't be the same) }
|
|
{ since there's only one parameter and that one can't be the same) }
|
|
else if (currvcl=tve_byte) or
|
|
else if (currvcl=tve_byte) or
|
|
@@ -2497,7 +2497,11 @@ implementation
|
|
{ widestring is better than everything left }
|
|
{ widestring is better than everything left }
|
|
else if (currvcl=tve_wstring) or
|
|
else if (currvcl=tve_wstring) or
|
|
(bestvcl=tve_wstring) then
|
|
(bestvcl=tve_wstring) then
|
|
- result:=1-2*ord(bestvcl=tve_wstring);
|
|
|
|
|
|
+ result:=1-2*ord(bestvcl=tve_wstring)
|
|
|
|
+ { unicodestring is better than everything left }
|
|
|
|
+ else if (currvcl=tve_ustring) or
|
|
|
|
+ (bestvcl=tve_ustring) then
|
|
|
|
+ result:=1-2*ord(bestvcl=tve_ustring);
|
|
|
|
|
|
{ all possibilities should have been checked now }
|
|
{ all possibilities should have been checked now }
|
|
if (result=-5) then
|
|
if (result=-5) then
|