Summary of Restrictions when Using Packages
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.