|
Тема |
Запис на няколко ClientDataSets в един общ файл? |
|
Автор | Пaвeл Пaнoв (Нерегистриран) | |
Публикувано | 12.10.09 14:06 |
|
|
Здравейте,
опитвам се да направя приложение което използва статични таблици от тип TClientDataSet и ги съхранява в един общ криптиран файл, опитах основно два варианта с използването на потоци и при двата немога да прочета обратно съответните ClientDataSets:
cds1, cds2, ms1 и ms2 са от тип TClientDataSet и TMemoryStream
Вариант 1-----------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
ms1.WriteComponent(cds1);
ms1.WriteComponent(cds2);
ms1.SaveToFile('111.111');
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
ms1.LoadFromFile('111.111');
ms1.ReadComponent(cds1);
ms1.ReadComponent(cds2);
end;
тук невъзстановява нищо;
Вариант 2 ---------------------------------------------
procedure TForm1.Button3Click(Sender: TObject);
begin
cds1.SaveToStream(ms1);
cds2.SaveToStream(ms2);
ms2.Seek(0, soFromBeginning);
ms1.CopyFrom(ms2, 0);
ms1.SaveToFile('222.222');
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
ms1.LoadFromFile('222.222');
cds1.LoadFromStream(ms1);
ms2.CopyFrom(ms1, (ms1.Size - ms1.Position));
cds2.LoadFromStream(ms2);
end;
тук възстановявава само първия cds1;
Очаквам вашите идей и предложения, благодаря
|
| |
|
|
|