EXPORT

EXPORT [ OPTIONAL ]

This keyword, when placed alone at the beginning of a class file declares the class as exported.

That means that this class will be visible from the outside when making a component.

If the OPTIONAL keyword is specified, then the class will be exported only if no other previously loaded component has already exported a class with the same name.

Examples

' Gambas class file
'
' This is an implementation of a new ListBox control put in a component

INHERITS ListBox
EXPORT

...

Namespace support

Since 3.17

Namespaces allow to choose the name of a class when it is exported.

In that public name, it is now possible to insert a colon, where the part before the colon is the "namespace".

For the Gambas interpreter, namespaces are just a convention. It only deals with the full exported name of the class.

EXPORT AS Namespace:PublicName [ OPTIONAL ]

This syntax exports the current class by using the Namespace:PublicName public name.

EXPORT TO Namespace [ OPTIONAL ]

This syntax exports the current class by using the Namespace:ClassName public name, where ClassName is the name of the current class.

EXPORT TO DEFAULT [ OPTIONAL ]

This syntax exports the current class by using its name, without any namespace.

As now the IDE allows to define a default name space for all exported class of a project, this syntax is the only way to export a class with the same name, as the EXPORT keyword alone does before.

See also