Имам проект Delphi 7, в който има някои типове записи, съдържащи низове, заредени и съхранени във файлове.
След прекомпилиране с Delphi 2009, когато програмата зареди записите от файл, низовете се объркват, защото компилаторът очаква Unicode, докато файлът има Ansi низове.
Типът е подобен на този:
type
След заместване на "низ" с "ansistring" проектът дори не се компилира, казвайки "E2029 ';' очаквано, но '[' намерено". Предложения?
Tpoint = record
name: string[255];
x, y: integer;
end;
Надградете от Delphi 7 до Delphi 2009
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
Както казва Ралф, все още трябва да работи. Не трябва да се налага да променяте никакви декларации за низ [##].
- person Warren P; 01.02.2011