Все API-функции, которые потенциально могут работать со строками, имеют два названия, для однобайтовых строк и для двучбайтовых, с буквой A и с буквой W на конце. Например SendMessageA и SendMessageW. До D2009 по умолчанию, в функции без этой буквы на конце, подразумевалась буква A, начиная с D2009 подразумевается буква W. То есть если пишем SendMessage, то в D7 вызывается функция SendMessageA, а в DelphiXE - вызывается функция SendMessageW. (см Windows.pas). И соответственно в первую нужно подавать PAnsiChar, а во вторую PWideChar. Когда в одной программе используются и Ansi и Wide строки, нужно явно указывать, какую именно функцию собираетесь вызывать.
|