Надградете от 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)


shortstring (който низ [255] е) все още се интерпретира по същия начин както преди: масив от AnsiChar с първия байт като дължина. ansistring не може да се дефинира като масив, следователно съобщението за грешка.

Как четете файла, за да попълните записите? И как ги пълниш? Може би грешката се появява там.

person Ralph M. Rickenbach    schedule 20.12.2010
comment
Както казва Ралф, все още трябва да работи. Не трябва да се налага да променяте никакви декларации за низ [##]. - person Warren P; 01.02.2011