Hi Sergei,
Doing what you propose isn't good. Checking for custom variant type
is expensive because it involves locking, therefore custom variant
handling should be done *after* the standard types.
Both committed in r17170, with some changes:
great thanks!
In fmtbcd.pp, I used VarDataFromStr
LacaK пишет:
Hi Sergei,
I can fix it by following fixs:
1. fmtbcd_castto.diff ... added case when castto varString is
requested ... then do not use cast throught varDouble (to avoid lost
of precision), but convert directly from TBCD to string
2. variants.pp ... here we must add handling of
Hi Sergei,
I can fix it by following fixs:
1. fmtbcd_castto.diff ... added case when castto varString is
requested ... then do not use cast throught varDouble (to avoid lost
of precision), but convert directly from TBCD to string
2. variants.pp ... here we must add handling of customvariant
LacaK пишет:
I can fix it by following fixs:
1. fmtbcd_castto.diff ... added case when castto varString is requested
... then do not use cast throught varDouble (to avoid lost of
precision), but convert directly from TBCD to string
2. variants.pp ... here we must add handling of customvaria
Hi,
I would like ask for your opinion in this case.
I found, that in this sample program is raised "Invalid variant ..."
var bcd1: TBCD;
v,v1: variant;
s: string;
begin
bcd1:=2;
v1:=varfmtbcdcreate(bcd1);
s:=v1; //assigment from customvariant to string is not handled in
sysvar