Creating your own External Components
Omnis Software Ltd
May 2023
This manual describes how you can create your own external components to integrate into Omnis Studio. You can download sample source code from the Omnis website to help you do this.
For more information about Omnis external components, and to download the latest source files, please go to:
https://www.omnis.net/developers/resources/download/tools/buildyourown.jsp
This manual introduces key development topics and expands to form a reference guide for each of the main APIs provided by the Omnis component library.
If you are upgrading to the latest version of Omnis Studio (e.g. version 11), and you have created your own external components for a previous version, then these components will need to be recompiled for the new version of Omnis Studio using the latest external component source files, which can be downloaded using the link above.
The software this document describes is furnished under a license agreement. The software may be used or copied only in accordance with the terms of the agreement. Names of persons, corporations, or products used in the tutorials and examples of this manual are fictitious. No part of this publication may be reproduced, transmitted, stored in a retrieval system or translated into any language in any form by any means without the written permission of Omnis Software.
© Omnis Software, and its licensors 2023. All rights reserved.
Portions © Copyright Microsoft Corporation.
Regular expressions Copyright (c) 1986,1993,1995 University of Toronto.
© 1999-2023 The Apache Software Foundation. All rights reserved.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
Specifically, this product uses Json-smart published under Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0).
© 2001-2023 Python Software Foundation; All Rights Reserved.
The iOS application wrapper uses UICKeyChainStore created by http://kishikawakatsumi.com and governed by the MIT license.
Omnis® and Omnis Studio® are registered trademarks of Omnis Software.
Microsoft, MS, MS-DOS, Visual Basic, Windows, Windows Vista, Windows Mobile, Win32, Win32s are registered trademarks, and Windows NT, Visual C++ are trademarks of Microsoft Corporation in the US and other countries.
Apple, the Apple logo, Mac OS, Macintosh, iPhone, and iPod touch are registered trademarks and iPad is a trademark of Apple, Inc.
IBM, DB2, and INFORMIX are registered trademarks of International Business Machines Corporation.
ICU is Copyright © 1995-2023 International Business Machines Corporation and others.
UNIX is a registered trademark in the US and other countries exclusively licensed by X/Open Company Ltd.
Portions Copyright (c) 1996-2023, The PostgreSQL Global Development Group.
Portions Copyright (c) 1994, The Regents of the University of California.
Oracle, Java, and MySQL are registered trademarks of Oracle Corporation and/or its affiliates.
SYBASE, Net-Library, Open Client, DB-Library and CT-Library are registered trademarks of Sybase Inc.
Acrobat is a registered trademark of Adobe Systems, Inc.
This software is based in part on ChartDirector, copyright Advanced Software Engineering (www.advsofteng.com).
This software is based in part on the work of the Independent JPEG Group.
This software is based in part of the work of the FreeType Team.
Other products mentioned are trademarks or registered trademarks of their corporations.
This document is provided as a free resource to developers wishing to write custom components for use with Omnis Studio. We hope you find the enclosed material useful and we have endeavoured to ensure its accuracy at time of print. Your attention is drawn to the terms of your Omnis Developer Partner Program contract (ODPP) which excludes development support for customised Omnis external components. This material supplements other external component documentation published by Omnis Software and is provided as a self-help resource.
Use and development of the supplied source code and associated utilities is carried out at the discretion of the external developer and the developer assumes responsibility for any consequential damage and/or loss of data which may result.
IN NO EVENT WILL OMNIS SOFTWARE BE LIABLE FOR ANY INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES HOWEVER THEY MAY ARISE AND EVEN IF OMNIS SOFTWARE HAS BEEN PREVIOUSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.