Гадостью CharToOem лучше не пользоваться, она корежит символы псевдографики. Для современных версий Delphi правильным будет решение через встроенные преобразования UnicodeString:
Код:
type
OEMString = type AnsiString(CP_OEMCP);
var
S: OEMString;
U: UnicodeString;
begin
ReadLn(RedirOut, S);
U := S;
Memo1.Add(U);
end;
По идее, должно сработать и прямое присваивание, поскольку OEMString физически тоже UnicodeString:
Код:
begin
ReadLn(RedirOut, S);
Memo1.Add(S);
end;