我打算自己写一个对象内存池,但是现在需要的问题就是无法正确的执行构造函数Create及析构Destory
vObject := Pointer(Integer(vHeader) + SizeOf(TPoolLinkHeader));
FTypeData.ClassType.InitInstance(vObject);
AObject := vObject;
AObject.Create; //即时这样也无法使对象运行他的构造函数
vObject.BeforeDestruction;
vObject.CleanupInstance;
vObject := Pointer(Integer(vHeader) + SizeOf(TPoolLinkHeader));
FTypeData.ClassType.InitInstance(vObject);
AObject := vObject;
AObject.Create; //即时这样也无法使对象运行他的构造函数
vObject.BeforeDestruction;
vObject.CleanupInstance;
我有想过用rtti获取他的构造函数,但是如果这个对象有定义重载的话,就没多少意义了...
http://code.google.com/p/delphipooling/