Запись строки в TFileStream в Delphi 2010

У меня есть код Delphi 2007, который выглядит следующим образом:

procedure WriteString(Stream: TFileStream; var SourceBuffer: PChar; s: string);
begin
  StrPCopy(SourceBuffer,s);
  Stream.Write(SourceBuffer[0], StrLen(SourceBuffer));
end;

Я называю это так:

var
  SourceBuffer : PChar;
  MyFile: TFileStream;

....

SourceBuffer := StrAlloc(1024);
MyFile := TFileStream.Create('MyFile.txt',fmCreate);
WriteString(MyFile,SourceBuffer,'Some Text');
....

Это сработало в Delphi 2007, но в Delphi 2010 у меня появилось много ненужных символов. Я знаю, что это связано с проблемами соответствия Unicode, но я не уверен, как решить эту проблему.

Вот что ямы уже пробовали:

Измените тип данных SourceBuffer (а также ожидаемый WideString параметр) на PWideChar

Каждый изпредложения, перечисленные здесь

Что я делаю неправильно?

Ответы на вопрос(2)

Ваш ответ на вопрос