我在这里找到了类似的主题,但没有一个能解决我的问题,所以我在一个新线程中问它。
几天前,我将保存我正在开发的应用程序首选项的格式从 INI 更改为 JSON。
我为此使用 jsonConf 单元。
我用来在文件中保存键值对的代码示例如下所示。
Procedure TMyClass.SaveSettings();
var
c: TJSONConfig;
begin
c:= TJSONConfig.Create(nil);
try
c.Filename:= m_settingsFilePath;
c.SetValue('/Systems/CustomName', m_customName);
finally
c.Free;
end;
end;
在我的代码中,m_customName 是一个 AnsiString 类型变量。TJSONConfig.SetValue 过程要求键和值都是 UnicodeString 类型。该应用程序编译正常,但我收到这样的警告
Warning: Implicit strung type conversion from "AnsiString" to "UnicodeString".
一些消息警告说存在潜在的数据丢失。
当然,我可以将所有内容都更改为 UnicodeString 类型,但这太冒险了。到目前为止,通过忽略这些警告,我还没有看到任何问题,但它们一直出现,并且可能会在不同的 PC 上引起问题。
我该如何解决?