我把一些旧代码至2010年德尔福为什么在将ShortString分配给字符串时,Delphi会发出警告?
有相当数量的老ShortStrings,像串[25]
为什么如下分配:
type
S: String;
ShortS: String[25];
...
S := ShortS;
原因编译器生成此警告:
W1057 Implicit string cast from 'ShortString' to 'string'.
这里没有数据丢失。这种警告在什么情况下对我有帮助?
谢谢!
Tomw
谢谢,尼克。既然它很安全,我只是觉得警告是多余的。 无论如何,恭喜D2010。目前我正在享受转型。你们提供的白皮书(特别是卡里的)非常有帮助。 – RobertFrank 2010-01-23 00:06:37
请考虑删除“足够聪明,不会丢失数据”。这是不可能发生的,除了所有的编译器“聪明”之外。 – mghie 2010-01-23 06:06:25
这个CAN会让你丢失数据,只是因为并非所有代码页中定义的短字符串中0-255的值都是明确的。 – 2010-01-23 09:08:30