[fpc-pascal] Compile error with published field

Michael Van Canneyt michael.vancanneyt at wisa.be
Wed Nov 15 17:29:14 CET 2006

On Wed, 15 Nov 2006, Joao Morais wrote:

> Hello,
> I have a TPersistent decendant class that causes the following compiling
> error:
> "Only class which are compiled in $M+ mode can be published"
> This is the inheritance:
> TPersistent (Classes unit)
> +-TPressStreamable (PressClasses unit)
>   +-TPressSubject (PressSubject unit)
>     +-TPressObject (PressSubject unit)
> Am I missing something?

Probably you have a published member in your class which is not a descendent
of TPersistent. Only TPersistent descendents can be published members of a
class (which in itself must be a TPersistent descendent).

So, if TPressObject has a published property
  Property MyProp : TMyPropClass Read...

then TMyPropClass must also descend from TPersistent.


More information about the fpc-pascal mailing list