What are Omnis External components?
Omnis external components are plug-in modules that extend the range of visual and non-visual objects available in the design and runtime environments in Omnis, as well extending the Omnis programming language. There are many different external components supplied with Omnis, but you can create your own using your own software development tools and the information in the docs.
Once built and installed into Omnis, external components behave in exactly the same way as standard built-in Omnis components. You can change the properties of an external component in design mode using the Property Manager. Likewise, at runtime you can manipulate an external component using methods and the notation, and examine its runtime properties in the Notation Inspector. External components can also contain functions or methods and events, which you can call or intercept using Omnis methods. You can build all of these features into your own external components.
The type and range of external components include: Window objects (including background objects) and Report objects, Static Functions, and Omnis objects or so-called ‘non-visual’ components, which are objects that can contain methods and properties, which can be used in the Omnis language or called to perform some specific function. External objects can be sub-classed, just like normal Omnis objects, to form new objects. The SQL DAMs are examples of non-visual components.
Creating your own External Components
Using the libraries we provide, you can create Omnis external components that run under all platforms supported in Omnis, including Windows and macOS. Most of the samples supplied have independent source code. The Omnis resource compilers for Linux and Mac OSX (Xcode) are supplied. These compile simple Windows style .RC files, and support image types .BMP, allowing the entire component to be portable.
Worker Objects: coming soon
The next incarnation of the component SDK will include a sample worker component which you can use as a basis for creating your own asynchronous worker object. Workers are ideal when you want to run a lengthy task in the background, leaving the main thread free to continue managing your user interface. We have also added worker object support into the generic DAM supplied as part of the SDK.
Get the SDK
We have recently updated the External Component SDK docs and source, which is available from our website here: www.omnis.net/products/components/buildyourown.jsp
Posted by: Omnis Blog Team