Цитата:
Сообщение от Alegun
А что, сохранение через потоковый WriteComponent вам не подходит разве?
Тогда действительно, при завершении работы сборки можно всё сохранить в ini-файле, посредством циклического перебора компонентов на форме, их класс, размер, позицию, название etc., гимора особого не будет, поскольку это всё автоматом происходит, а при старте по этим данным их воссоздавать - проблема лишь в динамически подключаемых процедурах обработки сообщений, но это тоже не очень сложно, при грамотной разработке их содержимого, и если не ошибаюсь, то пример подобного я вам уже приводил ранее
|
У вас не остался еще тот проэктик, который вы мне давали, в той теме?
Есть несколько нюансов, которые я не могу понять, а проэкт уже удален с файлообменника, да и у меня его нету уже.
Почитал про WriteComponent / ReadComponent, посмотрел примеры, попробовал, и ничего не понял. Всё потому что примеры не на runtime компонентах, а на обычных..
Куда сохраняется вся инфа ? В ини мы делаем сам файлик .ini, а с Filestream куда они кладутся ?
Мне бы тот ваш проэкт, который вы мне давали... ImgIni.rar, возможно оттуда я бы вычерпнул нужную информацию для себя (по крайней мере сейчас, когда хоть немного начал понимать).
Не затруднит ли вас написать небольшой пример, с использованием динамического компанента ?
Вот допустим на кнопку я создаю до 50 панелей и 50 image
(1 клик - 1 панель, 1 image), не понимаю как всё это сохранить, с учетом того, что это создано в runtime,
а может и не создано.
Код:
var
Form1: TForm1;
panel: array [1..50] of TsPanel;
....
procedure TForm1.sButton1Click(Sender: TObject);
var
nPanel:=nPanel+1;
toppanel:=toppanel+47;
leftpanel:=0;
widthpanel:=ClientWidth;
heightpanel:=45;
begin
panel[nPanel]:=TsPanel.Create(form1);
panel[nPanel].Parent:=form1;
panel[nPanel].Top:=toppanel;
panel[nPanel].Left:=leftpanel;
panel[nPanel].Width:=widthpanel;
panel[nPanel].Height:=heightpanel;
//-----------
{-----------------IMG--------------------}
img[nPanel]:=TImage.Create(panel[npanel]);
img[nPanel].Parent:=panel[npanel];
img[npanel].Stretch:=true;
img[nPanel].Top:=2;
img[nPanel].Left:=20;
img[nPanel].Width:=60;
img[npanel].Height:=40;
end;
В крайнем случае, может подкинете статью о том как работать с Writecomponent именно для Runtime ?
Извиняюсь за свою назойливость и тупизм...