MSIR.0919 Object's class ((classname)) not (attribute): Difference between revisions
(Automatically generated page update) |
m (Admin moved page MSIR.0918 Object's class ((classname)) not (attribute) to MSIR.0919 Object's class ((classname)) not (attribute): msg num incorrect (from original pdf)) |
(No difference)
|
Revision as of 14:47, 25 November 2013
A statement requested an operation that is not enabled for the class on which it was performed. For example, if the indicated attribute is Allow Narrow, it indicates that either a narrowing assignment or class test was performed where the source variables class does not have Allow Narrow in its Public block. Narrowing assignments and class tests require the Allow Narrow for good reasons -- these operations facilitate writing brittle, difficult to maintain code.
While the obvious solution might seem to be to put an Allow Narrow in the source class's Public block, it is best to first consider whether there might be a way of doing what the program is trying to do without requiring this. It might even be worth asking whether what the program is trying to do is correct. A common cause of this message is accidentally declaring a variable with the base class, when it really should be in the extension class.
See the Janus SOAP Reference Manual for more information on narrowing assignments.
Of course, if the narrowing assignment or class test is intentional and difficult to avoid, then it makes sense to add the Allow Narrow to the source class's Public block.