Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.27;
Скачать: CL | DM;

Вниз

Сохранение и загрузка компонентов в/из потока...   Найти похожие ветки 

 
vvsystem   (2002-06-13 13:47) [0]

Hi All!
Объясните как сделать правильно: сохраняю форму с компонентами в поток стандартным делфевским примером ComponentToString и потом опять его загружаю StringToComponent. Так вот появляется ошибка типа компонет с таким именем уже существует. Как это обойти?
Зараннее спасибо.


 
vvsystem   (2002-06-13 13:52) [1]

дополню малость: вот исходники
function ComponentToString(Component: TComponent): string;
var
BinStream:TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result:= StrStream.DataString;
finally
StrStream.Free;
end;
finally
BinStream.Free
end;
end;

function StringToComponent(Value: string): TComponent;
var
StrStream:TStringStream;
BinStream: TMemoryStream;
begin
StrStream := TStringStream.Create(Value);
try
BinStream := TMemoryStream.Create;
try
ObjectTextToBinary(StrStream, BinStream);
BinStream.Seek(0, soFromBeginning);
Result := BinStream.ReadComponent(nil);
**********************************************здесь ошибка!
finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;


 
vvsystem   (2002-06-14 18:06) [2]

Ну что народ? тоже не знаете? жаль...


 
Cobalt ©   (2002-06-15 10:46) [3]

>ошибка типа компонет с таким именем уже существует.
Если он есть, то надо передавать: BinStream.ReadComponent(InpComponent);
А ты уверен, что компонента с таким именем нет?



Страницы: 1 вся ветка

Текущий архив: 2002.06.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
3-88712
Fissher
2002-06-02 16:35
2002.06.27
Работа с BD без Alias - ов


1-88918
alex-ran
2002-06-14 14:16
2002.06.27
Работа с множествами


6-88973
cok
2002-04-17 21:32
2002.06.27
Опять сокеты (для локалок)


1-88945
DeepProg
2002-06-10 17:22
2002.06.27
Откладывание выполения задания


3-88769
maxim2
2002-06-05 13:45
2002.06.27
Не могу создать ini файл в разделе var в объявлении ini: TIniFile