Обновление с Delphi 7 до Delphi 2009

У меня есть проект Delphi 7, в котором есть несколько типов записей, содержащих строки, загруженные и сохраненные в файлах.
После перекомпиляции с помощью Delphi 2009, когда программа загружает записи из файла, строки искажаются, потому что компилятор ожидает Unicode, в то время как в файле есть строки Ansi.
Тип подобен этому:
type
Tpoint = record
name: string[255];
x, y: integer;
end;
После замены «строка» на «ansistring» проект даже не компилируется, говоря «E2029 ';' ожидалось, но '[' найдено ». Предложения?


person M.G.    schedule 20.12.2010    source источник
comment
Думаю сделаю старое приложение сохранить как Unicode, выглядит попроще   -  person M.G.    schedule 21.12.2010
comment
М.Г. не будьте слишком уверены. Похоже, ты сдаешься очень легко.   -  person Warren P    schedule 01.02.2011


Ответы (1)


короткая строка (которая является строкой [255]) по-прежнему интерпретируется так же, как и раньше: массив AnsiChar с первым байтом в качестве его длины. ansistring не может быть определен как массив, поэтому сообщение об ошибке.

Как вы читаете файл, чтобы заполнить записи? А как их набить? Может там ошибка возникает.

person Ralph M. Rickenbach    schedule 20.12.2010
comment
Как говорит Ральф, он все равно должен работать. Вам не нужно изменять какие-либо строковые [##] объявления. - person Warren P; 01.02.2011