-1
我在Delphi 10.2上使用fastreport 5.4.6,但当显示使用unicode参数的格式化函数时,fastreport有错误。这是错误FastReport格式函数unicode错误
创建文本=备忘录[格式( '%s' 的,[ 'nghìnTY'])nghìnTY
它会显示 “nghìnT'nghìnTY”
如何修理它。请帮帮我。
编辑 更改功能VariantToVarRec在FastReport中的fs_itools.pas
procedure VariantToVarRec(v: Variant; var ar: TVarRecArray);
var
...
varOleStr, varString:
begin
// ar[i].VType := vtString;
// New(ar[i].VString);
//{$IFDEF Delphi12}
// ar[i].VString^ := AnsiString(v[i]);
//{$ELSE}
// ar[i].VString^ := v[i];
//{$ENDIF}
ar[i].VType := vtUnicodeString;
ar[i].VString := pointer(UnicodeString(v[i]));
end;
{$IFDEF Delphi12}
varUString:
begin
ar[i].VType := vtUnicodeString;
New(ar[i].VUnicodeString);
PUnicodeString(ar[i].VUnicodeString)^ := v[i];
end;
{$ENDIF}
...
end;
变化
后[格式化( '%s' 的,[ 'MOTnghìnTY'])]
将显示“mộtnghìntỷ”。我不知道如果我改变功能,会发生什么(我是德尔菲的新手)
我们需要这里的方式更多的信息,您使用的是什么样的FastReport版本的Delphi是什么版本? – whosrdaddy
@whosrdaddy我使用fastreport 5.4.6和delphi 10.2 –
究竟你的真实代码是什么? –