[fpc-pascal] Read-only global references

Mark Morgan Lloyd markMLl.fpc-pascal at telemetry.co.uk
Sat Mar 5 12:24:30 CET 2011


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]



More information about the fpc-pascal mailing list