Free Pascal docs утверждают, что тип RawByteString
определен в Free Pascal, но я не могу найти где. Следует ожидать, что она определена в System
единицы, как в Delphi, но когда я компилирую (с помощью FPC 2.6.2, {$} режим Дельфи) объявление функцииТип RawByteString в Free Pascal
class function FromAnsi(const S: RawByteString): ByteArray; static;
Я получаю ошибку компилятора
Error: Identifier not found "RawByteString"
Guess я могу объявить тип себя:
type
RawByteString = type AnsiString(CP_NONE);
, но я хотел бы найти «родной» FPC декларации.
Благодарим за ответы. Поскольку мне не нужно поддерживать FPC 1.x, мне необходимо следующее:
{$IFDEF FPC}
{$IF FPC_VERSION = 2}
{$IF FPC_RELEASE <= 6}
type
RawByteString = AnsiString;
{$IFEND}
{$IFEND}
{$ENDIF}
Я не знаю о 'RawByteString', но' UnicodeString' был доступен в FPC с по меньшей мере 2.4.0, а FPC имеет режимы 'unicodestrings' и' delphiunicode', а 'FPC_UNICODESTRINGS' определяет, управлять/определить, отображается ли 'string' в' AnsiString' или 'UnicodeString'. –
@RemyLebeau: с «новыми типами строк» я ссылаюсь на строки с динамическим кодированием, а также на «UnicodeString/WideString/AnsiString» со статическим кодированием ... (хотя кто-то уже мог рассматривать «AnsiString» новый тип строки, сравнивая к «короткому замыканию») – BeniBela