![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение параметров Grid [D5, IB6.x]
guest_Dmitry © (2003-09-28 13:11:00)
Попробовал сохранить параметры грида в потоке, далее записать данные в реестр и обратное действие. Вот код
var
ss: TMemoryStream;
ssize: Longint;
procedure TfrReestr.FormCreate(Sender: TObject);
begin
Reg:=TRegIniFile.Create;
ss := TMemoryStream.Create;
try
ssize := reg.GetDataSize("TfrReestrGrid");
ss.SetSize(ssize);
reg.ReadBinaryData("TfrReestrGrid", ss, ssize);
RxDBGrid1.Columns.LoadFromStream(ss); {вот тут программа вываливается с криком о недопустимой операции}
except
end;
ss.Free;
reg.Free;
end;
procedure TfrReestr.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Reg:=TRegIniFile.Create;
ss := TMemoryStream.Create ;
try
RxDBGrid1.Columns.SaveToStream(ss);
ssize := ss.Size;
reg.WriteBinaryData("TfrReestrGrid", ss, ssize);
except
end;
reg.Free;
ss.Free;
Action := caFree;
end;
пишутся данные в реестр без проблем, а при попытке воостановления параметров грида из потока - ошибка.
Помогите понять в чем грабли.
roottim (2003-09-30 14:06:00) [1]
Если вы пользуйтесь RxLib, то попробуйте TFormStorage, который сохраняет не только св-ва формы но и св-ва объектов находящихся на форме, к чему есть соотв-й проперти едитор
Reindeer Moss Eater (2003-09-30 12:31:00) [2]
пишутся данные в реестр без проблем, а при попытке воостановления параметров грида из потока - ошибка.
Помогите понять в чем грабли.
При записи потоку наплевать что в него пишут. Лишь бы это были байты.
При RxDBGrid1.Columns.LoadFromStream наоборот, - имеет большое значение что находится в стриме.
Короче говоря успешная запись еще не гарантирует успешного восстановления объекта
Малиновский Владимир (2003-09-30 12:25:00) [3]
Если хочешь хранить текущие параметры грида в реестре (ну, там размеры столбцов, их порядок, высота строк и т.п.), имеет смысл посмотреть в сторону халявной библиотеки Д.Большакова EhLib. Там есть такой компонент TDBGridEh и масса примеров с документацией.
guest_Dmitry (2003-09-28 16:00:00) [4]
видимо никто :(
guest_Dmitry (2003-09-28 14:22:00) [5]
и даже никто не пнет в нужную сторону?