关于class reference的问题(100分)

  • 主题发起人 cachencc
  • 开始时间
C

cachencc

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TClass(或者TControlClass)创建一个TControl子类的对象时没有
什么问题,但创建一个非Control的东西,比如TBitmap时会出错.
下面是部份原码:
比如:
var
a: TClass;
b: TObject;
begin
a := TBitmap;
b := a.Create;
~~~~~~~~~~~~~这句运行没有问题,而且Assigned(b)=true;
b.Width := 100;
~~~~~~~~~~~~~~这句就会access violation
end;
 
type TBitmapClass = class of TBitmap;

b := TBitmapClass(a).Create;
 
to lynu:
我知道你的方法是可以的,
问题是:我不知道我的方法为什么不行
可不可以对我说说class reference的实现原理
 
接受答案了.
 
顶部