Я конвертирую свои приложения в Delphi 2009 и столкнулся с интригующей проблемой с некоторыми вызовами, которым необходимо преобразовать строку (широкую) в AnsiString.
Вот пример, демонстрирующий мою проблему:
var
s: PAnsiChar;
...
s := PAnsiChar(Application.ExeName);
В Delphi 2007 и предыдущих версиях s: = PChar (Application.ExeName) вернет путь к исполняемому файлу приложения.
в Delphi 2009 s: = PAnsiChar (Application.ExeName) возвращает только «E».
Я предполагаю, что это потому, что я конвертирую строку Unicode в строку ansi, но как я могу преобразовать ее, чтобы PAnsiChar получил полную строку?