-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 –
究竟你的真實代碼是什麼? –