1.3.39 $VARPROPSETTER : Enable use of var/out/const parameters for property setters.

This boolean directive is meant to import COM interfaces. Sometimes COM interfaces have property setters which accept arguments that are not by value, but by reference. These setters are normally forbidden. This flag enables the use of property setters with var, const, out arguments. By default it is OFF. The effect is on interface declarations, but also on class definitions.

The following example only compiles in the ON state:

{$VARPROPSETTER ON}  
Type  
  TMyInterface = Interface  
    Procedure SetP(Var AValue : Integer);  
    Function GetP : Integer;  
    Property MyP : Integer Read GetP Write SetP;  
  end;

In the OFF state, the following error will be generated:

testvp.pp(7,48) Error: Illegal symbol for property access