如何以及在何处覆盖默认字符串类型?

时间:2015-11-12 09:53:30

标签: delphi

我想直截了当地将默认的string类型声明/覆盖为宽字符串或ansi字符串。

E.g。 Delphi 2009下的string = WideString;

如何以及在何处声明/设置/更改默认字符串类型,以便整个项目和IDE保证,它已被专门覆盖?

2 个答案:

答案 0 :(得分:10)

  

声明/设置此位置的最佳位置在哪里,因此整个项目和   IDE保证,默认字符串是专门的   声明/覆盖?

无处。 string是Delphi中的关键字,无法重新声明。

Delphi keywords

在Unicode中,Delphi版本stringUnicodeString的别名,早期是AnsiString的别名。

提供

WideString是为了与COM BSTR类型兼容,并且不会将引用计为stringAnsiStringUnicodeString

String Types

无论您使用哪种Delphi版本(pre-Unicode或Unicode)都使用通用string类型。

但是在您需要具体而且代码依赖于确切类型的地方使用AnsiStringUnicodeString,即使它们可能会映射到特定Delphi版本的通用string

  • 在Unicode前Delphi中使用AnsiString以确保代码之间的兼容性,代码依赖于变量AnsiString

  • 在Unicode Delphi版本中使用UnicodeString,以便在代码正确性取决于变量UnicodeString

  • 时验证您的代码

答案 1 :(得分:5)

如果您使用Delphi 2009或更高版本string is defined as UnicodeString。在早期版本中,它被定义为AnsiString

无法重新声明string类型。