Where a unit exports an instance of an object, what's best practice for making this read-only? I'm referring to the object reference itself here, not properties of the object.

Where I've done this in the past I've used a function:

interface

function InitText: TFormattedString;

implementation

var     xInitText: TFormattedString= nil;

function InitText: TFormattedString;

begin
  result := xInitText
end { InitText } ;

Is there a better way using e.g. global properties that doesn't necessitate both a property and an explicit function?

property InitText: TFormattedString read xInitText;

The obvious problem here is that xInitText is a forward reference to an unexported variable.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to