将一组件Memo1 保存到流中。
定义一全局变量 Data: string;
保存组件Memo1到流CODE:
--********************************
Data := ComponentToString(Memo1);
--********************************
恢复组件原来的状态CODE
--*******************************
StringToComponent(Data)
Runtime Delphi 报告 Class TMemo not found.
--*******************************
Runtime Delphi 报告 Class TMemo not found???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;
定义一全局变量 Data: string;
保存组件Memo1到流CODE:
--********************************
Data := ComponentToString(Memo1);
--********************************
恢复组件原来的状态CODE
--*******************************
StringToComponent(Data)
Runtime Delphi 报告 Class TMemo not found.
--*******************************
Runtime Delphi 报告 Class TMemo not found???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;
解决方案 »
- 一个ADOQuery怎样执行几条SQL语句
- delphi程序运行后,还可以进入设计器调整窗体界面字段的属性
- delphi简单列表视图问题
- 关于事件响应问题!!!!!超级急!
- DBEdit如何限制输入格式?
- 如何动态设置表单的标题,caption
- DBGrid怎么得到当前记录所在行数?
- 有谁知道这个错误是什么意思?
- 殷切恳求求帮助!!!怎样调试CLASS!!
- StoreProcedure与TQuery,TDataProvider,TClientDataSet
- 如何把一正在运行的PB程序中的文本框中的内容自动取到自己的程序中?
- mdi子窗口最大化时子窗口右上角的三个按钮(最小化,最大化,关闭)都不见了?
begin
RegisterClass(TButton);
with tbutton(StringToComponent(s)) do
begin
Left := 100;
Parent := self;
end;
end;
RegisterClass(TButton); //为什么来
with tbutton(StringToComponent(s)) do //你的意思是将button3的各属性赋成 被保存
begin //的组件的属性吗??
Left := 100;
Parent := self; //这两句有何用也不懂!!!
end;