Форум: "Основная";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
ВнизINI - файл и поток MemoryStream Найти похожие ветки
← →
Vyachek (2005-09-28 10:27) [0]Подскажите почему при следующем коде размер потока получается разным. Вот код из программы:
// Делаем запись потока в INI файл
TmpMemStream := TMemoryStream.Create;
SaveToStream(TmpMemStream); // Здесь размер после записи данных в поток равен 1114
MyIniFile := TIniFile.Create(aFilename);
TmpMemStream.Seek(0,soFromBeginning);
MyIniFile.WriteBinaryStream("CadrList","Value",TmpMemStream);
MyIniFile.Free;
TmpMemStream.Free;
// Читаем из INI файла в поток
TmpMemStream := TMemoryStream.Create;
MyIniFile := TIniFile.Create(aFilename);
MyIniFile.ReadBinaryStream("CadrList","Value",TmpMemStream);
// но после этого размер потока равен 1023
Почему так??????????????
← →
Николяй1 (2005-09-28 11:36) [1]Точно не помню ноя уже сталкивался с такой проблемой когда пытался сохранит картинку в потоке. Сут в том что максимальня длина Stream в ini ограничена вот только не помню сколько и поэтому при записи отсекется та часть которая выходит за границу дозволенного размера
← →
GanibalLector © (2005-09-29 02:18) [2]WriteBinaryData method (TRegistry)
Note: Data-value lengths are limited by available memory. Long values (more than 2048 bytes) should be stored as separate files, and those file names should be stored in the registry. Application elements such as icons, bitmaps, and executable files should be stored as separate files rather than as values in the registry.
← →
Vyachek (2005-10-04 11:00) [3]Если кому интересно то я реши эту проблему вот так...
TmpMemStream := TMemoryStream.Create;
SaveToStream(TmpMemStream); // Здесь размер после записи данных в поток равен 1114
MyIniFile := TIniFile.Create(aFilename);
TmpMemStream.Seek(0,soFromBeginning);
MyIniFile.WriteBinaryStream("CadrList","Value",TmpMemStream);
MyIniFile.Free;
TmpMemStream.Free;
// Читаем из INI файла в поток
TmpMemStream := TMemoryStream.Create;
MyIniFile := TMemIniFile.Create(aFilename);
MyIniFile.ReadBinaryStream("CadrList","Value",TmpMemStream);
// и тогда все круто. У INI-файла придел 1023 байта при считывании методом ReadBinaryStream, а у TMemIniFile этого придела нет
← →
Eraser © (2005-10-04 11:06) [4]
> Vyachek (28.09.05 10:27)
Если задача состоит в том, чтобы сохранять большИе объёмы структурированых данных в файл, стОит подумать о приминении xml.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c