|
From: Sean M. <se...@ro...> - 2009-04-16 21:23:38
|
On 4/15/09 10:29 PM, Roger Holmes said: >We should probably add an extra field to E3ClassInfo. I suggest it be >called deltaInstanceSize. > >We should have a new parameter in E3ClassTree::RegisterClass. When >called from E3ClassTree::RegisterExternalClass, this will be passed >straight through. When called for a built in class which merely adds a >single object to its base class, it would pass in the sizeof () this >object. When called for a class which adds more than one object to its >base class it would have to be the sum of the sizeof ()s of those >objects, however I don't think this will matter as such a class would >probably not call GetInstanceSize. > >GetInstanceSize would need to be changed to return deltaInstanceSize >instead of the difference of the instanceSize class and its parent. > >OpaqueTQ3Object::FindLeafInstanceData would need to be changed to add >( instanceSize - deltaInstanceSize ) to 'this' rather than the parent >class's instanceSize, which would then allow for the pad bytes moving >the data fields forward in the record. > >The same change would need to be made to >OpaqueTQ3Object::DeleteInstanceData and >OpaqueTQ3Object::DuplicateInstanceData. This sounds reasonable. I don't know Quesa well enough to attempt this... Roger or James, do one of you have the time/inclination? I can certainly do a code review and testing. Cheers, -- ____________________________________________________________ Sean McBride, B. Eng se...@ro... Rogue Research www.rogue-research.com Mac Software Developer Montréal, Québec, Canada |