注意,需要注册类;
2.读入多个属性的时候,只会构造第一个控件;
unit Unit1;
interface uses windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls; type TForm1 = class(TForm) mmo1: TMemo; btn1: Tbutton; edt1: TEdit; btn2: Tbutton; procedure btn1Click(Sender: TObject); procedure btn2Click(Sender: TObject); private procedure ShowComponentPropertIEs(AComponent: TComponent); { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function CompTostr(AComponent: TComponent): string; var memstream: TMemoryStream; strStream: TStringStream; str: string; begin memstream := TMemoryStream.Create(); try strstream := TStringStream.Create(str); try memstream.WriteComponent(AComponent); memstream.Seek(0,soFromBeginning); classes.ObjectBinaryToText(memstream,strStream); strStream.Seek(0,soFromBeginning); Result := strStream.DataString; finally FreeAndNil(strStream); end; finally FreeAndNil(memstream); end; end; function StrToComp(Astr: string; Acomponent: TComponent): TComponent; var strStream: TStringStream; memStream: TMemoryStream; begin strStream := TStringStream.Create(Astr); try memStream := TMemoryStream.Create; try classes.ObjectTextToBinary(strStream,memStream); memStream.Seek(0,soFromBeginning); Result := memStream.ReadComponent(Acomponent); finally FreeAndNil(memStream); end; finally FreeAndNil(strStream); end; end; procedure TForm1.btn1Click(Sender: TObject); var str: string; begin mmo1.Clear; ShowComponentPropertIEs(edt1); end; procedure TForm1.ShowComponentPropertIEs(AComponent: TComponent); var str: string; begin str := compToStr(AComponent); mmo1.lines.Add(str); end; procedure TForm1.btn2Click(Sender: TObject); var editclone: Tedit; begin editclone := TEdit(StrToComp(mmo1.lines.Text,nil)); editclone.Parent := self; editclone.name := editclone.name + 'Clone'; editclone.top := editclone.top + 40; editclone.Visible := true; ShowComponentPropertIEs(editclone); end; initialization Classes.registerClass(TEdit); end. 总结以上是内存溢出为你收集整理的组件的持久化,delphi全部内容,希望文章能够帮你解决组件的持久化,delphi所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)