[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.

Michael.



More information about the fpc-pascal mailing list