Показать сообщение отдельно
  #4  
Старый 24.04.2008, 14:18
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,024
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от KOOL
в составе record это типа так:
Код:
type MyFile=record
         val1:integer;
         val2:string[20];
         StrList:TStringList
       end;
//а затем
procedure Save(FileName : string);
var OutF : file of MyFile;
begin
...
end;
все сохраняется нормально, кроме StringList

Естественно, у тебя таким образом сохраняется указатель.
И подругому тут ничего не сделаешь.
Варианты решения:
1. В записи хранить String, а для работы в StringList пихать его в StringList.Textэ
2. Отказаться от File Of и писать через TFileStream. В этом случае у тебя полный контроль над тем как и что ты сохраняешь.

Все дело в том, что File Of работает с записями фиксированной длинны, а у тебя содержимое StringList потенциально может быть различной длинны.

Если есть вопросы - wellcome.
Ответить с цитированием