mro*_*ney 5 delphi string delphi-2010
我是Delphi的新手,我正在将一个非常古老的Delphi项目迁移到Embarcadero RAD Studio 2010.我发现使用字符串时遇到了问题.这是代码:
ProgramaResultadosType = record
Version: string;
TituloPrincipal : string;
BloquesResultados : VectorBloquesResultadosType;
end;
FileOfProgramaResultadosType = file of ProgramaResultadosType;
Run Code Online (Sandbox Code Playgroud)
错误......
"E2155类型'%s'需要最终确定 - 文件类型不允许"
我知道当你没有指定字符串大小时,对于许多delphi开发人员来说这是一个众所周知的错误.
基本上我想停用像旧版RAD Studio一样的巨大字符串指令,但我在2010版本中找不到.
Arn*_*hez 10
只需使用:
ProgramaResultadosType = record
Version: shortstring;
TituloPrincipal : shortstring;
BloquesResultados : VectorBloquesResultadosType;
end;
Run Code Online (Sandbox Code Playgroud)
但请注意:
string类型进行不可见的转换:string在阅读完shortstring内容之后,最好使用另一个显式变量;string是一个Unicode字符串:因此,当您shortstring从一个(从一个Ansi字符串)写入时,您可能会丢失一些数据UnicodeString;ProgramaResultadosType = packed record如果您的应用程序非常老旧(默认路由在Delphi 4,AFAIR周围更改),则可能需要添加.所以你可能必须:
将现有应用程序转换为更新的Unicode版本的Delphi时值得一读:
| 归档时间: |
|
| 查看次数: |
444 次 |
| 最近记录: |