Re: [fpc-pascal] Requirement of {$M+} to add RTTI info

2012-12-12 Thread luiz americo pereira camara
2012/12/12 Sven Barth :
> Am 12.12.2012 01:15 schrieb "luiz americo pereira camara"
> :
>
>
>>
>> Some time ago, i was getting an error while trying to use RTTI
>> functions in a class descending directly of TObject
>>
>> Later i discovered that i needed to descend from TPersistent due to
>> $M+ directive (http://www.freepascal.org/docs-html/prog/progsu44.html),
>> so i did.
>>
>> Now, i decided to go back and descend directly from TObject. To allow
>> RTTI usage i would put M+ around my own class
>>
>> I tested again and using RTTI functions (SetOrdProp, GetPropInfo)
>> worked even without declaring {$M+}
>
> Can you check whether your unit was really recompiled? Remove the .ppu and
> .o files for the unit to be on the save side.


I already did that

> Also it could be that the
> switch was declared somewhere before your class and not disabled again with
> {$M-}
>

Maybe. I also think of a compiler option being passed in Lazarus
package but could not find such option

>> So, is it really necessary to put $M+ to use RTTI?
>
> Yes.


Thanks. I 'll put M+ it anyway

Luiz
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Requirement of {$M+} to add RTTI info

2012-12-12 Thread Sven Barth
Am 12.12.2012 01:15 schrieb "luiz americo pereira camara" :
>
> Some time ago, i was getting an error while trying to use RTTI
> functions in a class descending directly of TObject
>
> Later i discovered that i needed to descend from TPersistent due to
> $M+ directive (http://www.freepascal.org/docs-html/prog/progsu44.html),
> so i did.
>
> Now, i decided to go back and descend directly from TObject. To allow
> RTTI usage i would put M+ around my own class
>
> I tested again and using RTTI functions (SetOrdProp, GetPropInfo)
> worked even without declaring {$M+}

Can you check whether your unit was really recompiled? Remove the .ppu and
.o files for the unit to be on the save side. Also it could be that the
switch was declared somewhere before your class and not disabled again with
{$M-}

> So, is it really necessary to put $M+ to use RTTI?

Yes.

Regards,
Sven
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal