I dont think you want to declare those constants as shared if you want to use them in the objects that you instantiated from the class.

Anything declared as shared in a class will not be seen if that class is instantiated.

MrPolite that is ok, if you intended to access those readonly variables using public properties.