Delphi帮助里面的function StringToComponent(Value: string): TComponent;为什么出错??
在查ReadComponent关键字的时候查询TStream的所属方法,有个Delphi自带Example如下:
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(const 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;
//////////////////////
为什么我如下使用的时候出现异常?
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls;
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=componenttostring(button1);
showmessage(s);//到这里都没问题。
stringtocomponent(s);//这里异常说没有TButton这个类。为何?
end;
/////////////////////
感谢帮助!