我想直截了当地将默认的string
类型声明/覆盖为宽字符串或ansi字符串。
E.g。 Delphi 2009下的string = WideString;
如何以及在何处声明/设置/更改默认字符串类型,以便整个项目和IDE保证,它已被专门覆盖?
答案 0 :(得分:10)
声明/设置此位置的最佳位置在哪里,因此整个项目和 IDE保证,默认字符串是专门的 声明/覆盖?
无处。 string
是Delphi中的关键字,无法重新声明。
在Unicode中,Delphi版本string
是UnicodeString
的别名,早期是AnsiString
的别名。
WideString
是为了与COM BSTR
类型兼容,并且不会将引用计为string
,AnsiString
或UnicodeString
无论您使用哪种Delphi版本(pre-Unicode或Unicode)都使用通用string
类型。
但是在您需要具体而且代码依赖于确切类型的地方使用AnsiString
或UnicodeString
,即使它们可能会映射到特定Delphi版本的通用string
。
在Unicode前Delphi中使用AnsiString
以确保代码之间的兼容性,代码依赖于变量AnsiString
在Unicode Delphi版本中使用UnicodeString
,以便在代码正确性取决于变量UnicodeString
答案 1 :(得分:5)
如果您使用Delphi 2009或更高版本string
is defined as UnicodeString
。在早期版本中,它被定义为AnsiString
。
无法重新声明string
类型。