Недавно обновил CodeGear с 2007 на 2009. И обнаружил, что мои проги, работающие с MySQL посредством компонентов Виталия Лещенко работать перестали. При подключении возникали стандартные ошибки MySQL #2003 и #2005. Сначала подозрения пали на сырость 2009й серии, но позже оказалось, что виной всему является тотальная юникодизация IDE.

А это значит, что типы String, Char, PChar вместо AnsiString, AnsiChar и PAnsiChar теперь интерпретируются, как UnicodeString (которого раньше не было), WideChar и PWideChar соответственно. Изменены и заголовочные файлы для работы с WinAPI, и некоторые другие: А-функции заменены на W-функции.

Чтобы сделать старые заголовочные файлы совместимыми с Delphi 2009 необходимо явно указывать старые Ansi-типы. Собственно вот доработанные мной MySQLClasses, совместимые с Delphi 2009.

Очевиден один плюс такой совместимости с юникодом — стало легче писать мультиязычные программы. Для перекодировки текста добавлен класс TEncoding. Существуют еще несколько нововведений: анонимные методы, концепция шаблонов как в .NET и другие.