У вас две проблемы с использованием Delphi 5 с выводом Unicode.
Во-первых, TMemo не поддерживает символы Unicode, которые вам понадобятся, чтобы найти другой элемент управления, например, в TMS Unicode Component Pack . Однако этот пакет компонентов не поддерживает Delphi 5.
Вторая проблема связана с этой частью кода:
repeat
BytesRead := 0;
ReadFile(ReadPipe,Buffer[0],
ReadBuffer,BytesRead,nil) ;
Buffer[BytesRead]:= #0;
OemToAnsi(Buffer,Buffer) ;
AMemo.Text := AMemo.text + String(Buffer) ;
until (BytesRead < ReadBuffer) ;
Он читает символы и помещает их в буфер, который является PCHAR (один символ на байт в D5). Затем введите приведение к String, которая является строкой AnsiString в D5.
Хотя я не использовал D5 в течение многих лет, единственный тип, который я помню, который может обрабатывать данные Unicode в D5, - это WideString.