I don't know, if this is the right list, but the topic is quite fpc specific
and needs some compiler gurus:
The Lazarus IDE needs to create new classes at runtime. For example when
loading/creating a descendent of TDataModule named TMyDataModule, it needs a
unique TMyDataModule = class(TDataModule) complete with vmt, method table
(empty), field table (empty), typeinfo (no properties), and .. ?
At the moment lazarus only supports TDataModule and TForm, so I was able to
just define the two and copy. But for inheriting I need 'real' custom classes.
Creating the empty method table, field table and new typeinfo seems to be easy.
But I found some fields, which I don't know:
In objpash.inc there is
const
vmtInstanceSize = 0;
vmtParent = sizeof(ptrint)*2;
The fields behind vmtParent are easy (at least I think so). But what about the
8 bytes (i386) behind vmtInstanceSize and in front of vmtParent?
They seem to be a negative number and a pointer? What are they are good for?
And: Is this solution portable or will I get into trouble?
Mattias
_______________________________________________
fpc-devel maillist - [EMAIL PROTECTED]
http://lists.freepascal.org/mailman/listinfo/fpc-devel