When using packages, you should be aware of the following restrictions.
You cannot export any of the following.
Imported classes.
Inherited properties and methods on a subclass. To export an inherited method, you must export the superclass or reimplement the inherited method on the exported class.
A RootSchema subschema copy class.
Subclasses of the Application, Global, or WebSession class.
Any system (that is, RootSchema) classes; for example, the Object or the Dictionary class.
Constructor (create) or destructor (delete) methods.
Event methods (for example, the timerEvent method, notification event methods, and control event methods), nor can you re-implement them in the importing schema.
Global constants.
External functions.
Properties that have protected access.
As class names must be unique within a package, a single package cannot export both a class and a subschema copy of that class.
Package names must be unique within a schema, across both imported and exported packages.
A schema that exports a package cannot also import it. Schemas cannot import any packages that were exported from the same schema branch.
Imported classes cannot participate in inverse relationships with local classes.
You cannot subclass imported classes.
A class can be imported once only, from one package only, within a specific schema branch. You cannot import a class more than once into a schema branch.
You cannot remap imported classes to different database files.
You cannot add local mapping methods to imported classes.