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

  • 主题发起人 主题发起人 kmyan
  • 开始时间 开始时间
没有公共基类,只能声明为 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 是什么类型。
否则你不知道将它转换成什么类型。
胡乱转换可能会出错。
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部