变量定义的问题,请高手帮忙(50分)

没有公共基类,只能声明为 Pointer ,通过类型转换来实现!

procedure TForm1.Button1Click(Sender: TObject);
var
obj:pointer;
begin
obj:=Pointer(TEDit.create(self));
showmessage(TEDit(obj).className);
obj:=Pointer(TButton.create(self));
showmessage(TButton(obj).className);
end;

但你必须有另一个相应的状态变量来表示目前的obj 是什么类型。
否则你不知道将它转换成什么类型。
胡乱转换可能会出错。
 
多人接受答案了。
 
顶部