Я поддерживаю довольно старый код Delphi, который в определенном модуле использует EmptyString
.
Компилятор разрешает его как
costant EmptyString = '' - из System.string
теперь у меня нет файла System.string.pas на моем жестком диске или .dcu, поэтому я не могу больше об этом знать.
Я нашел в
C:\Program Files (x86)\Embarcadero\Studio\17.0\source\rtl\sys\system.SysUtils.pas
другая похожая константа:
{ Empty string and null string pointer. These constants are provided for
backwards compatibility only. }
EmptyStr: string = '';
{$IFNDEF NEXTGEN}
NullStr: PString = @EmptyStr;
На первый взгляд кажется, что EmptyStr
и EmptyString
использовались только в прошлом, поэтому они как-то устарели , так что лучшеиспользовать ''
напрямую или определять константы в приложении, которое переопределяет их.
Теперь, после обновления стороннего компонента, я понял, что EmptyString
больше не разрешается.
Мой вопрос:что именно System.String
?Почему в rtl нет соответствующего файла .pas?
Я безуспешно гуглил.
Спасибо.