Omnis Technical Notes

Help with Common Technical Issues

The following Tech Notes are designed to highlight features in Omnis Studio or to help you with some of the more common technical problems you might face while developing your Omnis application.

Select a topic:  

Most Recent Tech Notes Created  
macOS Notarization Dec 2023 TNMA0002
macOS Code Signing Dec 2023 TNMA0001
Importing a CSV file into a list Nov 2023 TNLS0002
How to swap data in a list Nov 2023 TNLS0001
Enhancing your Tool Tips Oct 2023 TNGI0032
Linux System Requirements Oct 2023 TNLI0008
Running the Linux Installer Unattended Oct 2023 TNLI0007
Debugging Client-Side Exceptions Aug 2023 TNJS0015
Testing a JS Client app over HTTPS Aug 2023 TNJS0014
Using the JavaScript Worker Aug 2023 TNEX0006
Using the oProcess Worker Aug 2023 TNEX0015
Using the Python Worker Aug 2023 TNEX0014
Connecting to SAP HANA with the ODBC DAM Jul 2023 TNSQ0042
Creating a Relational Grid Jul 2023 TNJC0018
Displaying Subtotals in Reports Jun 2023 TNPR0010
Omnis JavaScript Client  
Building & Customizing the Android app TNJS0001
Building & Customizing the iOS JavaScript Wrapper app TNJS0002
Setting up the Omnis App Server TNJS0003
JavaScript Client Construct Row TNJS0004
Using the Omnis Synchronization Server TNJS0005
Debugging JavaScript Client Methods TNJS0006
Setting up a Server on Amazon Web Services (AWS) TNJS0007
Error Handling in Remote Forms & Inheritance TNJS0008
Theming an Omnis JavaScript application TNJS0009
Motion Background for Remote Forms TNJS0010
Popup Form for exporting data from a Data Grid TNJS0011
Import a file into SQLite and create a web or mobile form TNJS0012
Variable References in Client-executed Methods TNJS0013
Testing a JS Client app over HTTPS TNJS0014
Debugging Client-Side Exceptions TNJS0015
JavaScript Components  
Complex Grid TNJC0001
Subform control TNJC0002
Data grid control TNJC0003
Linked List TNJC0004
Device Control TNJC0005
Subform Sets TNJC0006
High Definition Icons TNJC0007
Trans button TNJC0008
Adding Ready-made JavaScript components to Omnis TNJC0009
Using SVG Icons for your Omnis JavaScript apps TNJC0010
Using SVG Icons for Map Markers TNJC0011
PDF Printing in the JavaScript Client TNJC0012
Reading a barcode or QR code in a mobile app TNJC0013
Integrating AmCharts into Omnis Studio TNJC0014
Adding Signature Capture to Omnis using a JSON Component TNJC0015
Toolbar and Segmented Controls TNJC0016
Bar and Pie Chart Controls TNJC0017
Creating a Relational Grid TNJC0018
Omnis Web Development  
Setting Secure mode for the Omnis App Server TNWE0009
Cancelling a long server process from a remote form TNWE0012
Asynchronous Programming in Omnis TNWE0014
Direct HTTP access in Omnis TNWE0016
Using Omnis HTTP Commands TNWE0018
Creating Dynamic Web Forms TNWE0027
How to install Omnis Studio 3.x under Linux TNLI0001
The Integration of Open Office in Omnis Studio under Linux TNLI0002
How to run and use Omnis Studio on Linux platforms TNLI0003
Setting up Omnis on Debian Linux TNLI0004
How to determine the MAC address under Linux TNLI0005
OpenSSL Error when launching Omnis Studio on RedHat6 TNLI0006
Running the Linux Installer Unattended TNLI0007
Linux System Requirements TNLI0008
Object Orientation and Inheritance  
Objects and Object References TNOO0001
Polymorphism in Omnis TNOO0002
Using References TNOO0003
Beginners guide to Abstraction and Inheritance TNOO0004
Encapsulation of GUI Objects TNOO0005
Client/Server and SQL Programming - General  
Using Bind Variables with SQL Classes TNSQ0001
Inserting Dates into a Server from Omnis Studio TNSQ0002
Omnis Studio Examples - SQL TNSQ0004
Altering Datatypes for the columns in your Omnis SQL table TNSQ0005
Mapping Character Sets TNSQ0013
SQL Error Handler TNSQ0017
Using multiple SQL backends with Omnis TNSQ0018
Intelligent SQL Search TNSQ0022
Setting Environment Variables TNSQ0025a
Table Classes versus Object Classes   TNSQ0027
Omnis Character Mapping Explained TNSQ0028
Creating Server Tables Automatically TNSQ0033
Running Asynchronous Tasks Using SQL Workers TNSQ0035
Using Oracle Instant Client with macOS 11 "Big Sur" and Later TNSQ0010c
Using Oracle Instant Client on Windows TNSQ0034
Configuring Oracle DAM(s) on Linux TNSQ0014
Mixing Unicode and Non-Unicode Data Types with Oracle TNSQ0023
PL/SQL Array Binding with Oracle TNSQ0026
Making a Proxy Connection using the Oracle DAM TNSQ0032
Connecting to Sybase SQL Anywhere 10/11  from a Mac-Intel Client TNSQ0016
Connecting to Sybase Adaptive Server Anywhere 11 64-bit Server TNSQ0021
Connecting to Sybase from Mac OSX TNSQ0029
Connecting Natively to SQLServer in Omnis Studio 10 TNSQ0036
Creating your own SQL session for MySQL TNSQ0012
Making SSL Connections using the MySQL DAM TNSQ0030
Using the Dynamic MySQL DAM TNSQ0039
Replacing the PostgreSQL Client in MacOS Big Sur and Later TNSQ0040
Mapping Extended Characters with PostgreSQL TNSQ0019
Making SSL Connections using the PostgreSQL DAM TNSQ0031
  ODBC / Omnis ODBC Driver  
ODBC Administration with Omnis Studio TNSQ0015
Omnis ODBC Access Masks TNSQ0003
Using Outer Joins with OmnisSQL and the Omnis ODBC Driver TNSQ0007
Using the Microsoft ODBC Driver for SQL Server for Linux and macOS TNSQ0038
Using the ODBC DAM with macOS 11 and Later TNSQ0038a
Connecting to SAP HANA with the ODBC DAM TNSQ0042
Automatic Conversion to SQLite in Omnis Studio 10 TNSQ0037
Automatic Conversion to PostgreSQL in Omnis Studio 10 TNSQ0037a
Non-Visual DB2 DAM and Record Locking TNSQ0006
Making Connections using the JDBC DAM TNSQ0024
Omnis Libraries  
Multiple Libraries and Task Variables TNLB0001
Omnis Components / Extending Omnis  
Using .Net objects in Omnis Studio TNEX0001
The Omnis Remote Studio Applet (rStudio) TNEX0002
Using the .NET Objects component TNEX0003
Displaying progress in FTP Transfer TNEX0004
Implementing padding in Blowfish Encryption TNEX0005
Using the JavaScript Worker TNEX0006
Omnis Headless and Docker TNEX0007
Loading external frameworks in macOS Catalina TNEX0008
Locating Library Dependencies TNEX0009
Creating a service for ODB on macOS TNEX0010
Creating a service for ODB on Windows TNEX0011
Optimizing Omnis Data File Queries for the ODB TNEX0012
Addressing the remote code execution vulnerability in Apache Log4j (Security Alert CVE-2021-44228) TNEX0013
Using the Python Worker TNEX0014
Using the oProcess Worker TNEX0015
Creating XML documents with oXML TNXM0001
Creating Unicode External Components TNXM0002
Creating Old-Style Unicode External Components TNXM0003
Animating Objects using the Transform Component TNXM0004
Omnis Web Services  
Using Omnis Studio as a SOAP host TNWS0001
REST Web Services: implementing a Client TNWS0002
Getting Started with REST Web Services, Tomcat and Swagger UI TNWS0003
Web Service Authentication TNWS0004
REST Web Services HTTP JavaScript Push Example TNWS0005
Creating Omnis REST API endpoints and deploying them through IIS TNWS0006
Integrating Omnis Studio with Mailjet using REST TNWS0007
Integrated Design Environment  
Transfering your customised Component Store between versions of Studio TNID0001
Naming conventions used in Studio TNID0002
Documenting your Omnis code TNID0003
Creating your own Component Store Objects TNID0004
Adding version info to your application TNID0005
Changing Built-in Shortcut Keys in Studio 5.0.1 TNID0006
Creating a custom editor for Schema classes TNID0007
Omnis Studio OS X and App Nap TNID0008
GUI and Application Design  
Cascaded Menu Instances. TNGI0001
Embedding Styles Within Lists. TNGI0002
Omnis Tree Control. TNGI0003
Prompt for Search Class. TNGI0006
Picture Conversion in Omnis 7. TNGI0007
Storing JPEGs in a Server Database. TNGI0008
Scatter Graphs using the $seriesgroupswap property. TNGI0009
The Deployment Process and FAQ. TNGI0010
Handling the conversion of a Mac text file to an ANSI (PC) text file. TNGI0011
How to drop down a droplist automatically when entering the dropdown list. TNGI0012
Studio Event Management. TNGI0013
Transparent Window Objects TNGI0014
Dynamic Positioning of Objects TNGI0015
Programming without the Enter Data command TNGI0016
Creating your own Omnis desktop TNGI0017
Using $dataname in Subwindow fields TNGI0018
Adding colors and icons to lists TNGI0019
Manually changing the sort order of list lines TNGI0020
How to display PDF files directly in Omnis Studio TNGI0021
Re-usable Context Menus TNGI0022
Using $gridcolumn and $gridsection in Complex Grids TNGI0023
Translating and/or Replacing Built-in Omnis Menus TNGI0024
Using the style() function in Tree Lists TNGI0025
Standard Menu Command TNGI0026
Using Subwindows in a Tab Pane TNGI0027
Creating a dynamic search field TNGI0028
Column Sensitive Context Menus for Headed List Boxes TNGI0029
Changing the style and color of Tooltips in Omnis TNGI0031
Enhancing your Tool Tips TNGI0032
Expanding And Collapsing A Tree. TNNO0002
Grid Field Exceptions. TNNO0003
OLE Automation Notation. TNNO0004
The ODBC Driver for Datafile Access and $publicdata. TNNO0005
Using Register DLL and Call DLL. TNNO0006
Removing duplicate rows from a list. TNNO0007
Using $filter on a list. TNNO0008
Proportional sizing of columns in a headed list. TNNO0009
Tree lists - displaying nodes with a common parent. TNNO0010
Creating default values in new rows in an extendable data grid. TNNO0011
Moving objects on a specific tab of a pane. TNNO0012
The Notational approach to using FileOps TNNO0013
$tag and $drawinactive Properties of a Tree list TNNO0014
Defining a list with up to 400 columns TNNO0015
Avoiding calculations with NULL TNNO0016
Using custom properties with $sendall TNNO0017
How to use the strpbrk() and strspn() functions.
Printing and Reports  
LaserWriter8 (MAC OS)
The job setup dialog TNPR0002
Printing ranges of pages TNPR0003
Report Class Prints Itself TNPR0004
The Page Setup when printing in Omnis TNPR0005
Horizontal Sliding TNPR0006
Demonstrating the use of $print in reports TNPR0007
Save a report as PDF TNPR0008
Storing Report Job Setup Parameters TNPR0009
Displaying Subtotals in Reports TNPR0010
List Programming  
How to swap data in a list TNLS0001
Importing a CSV file into a list TNLS0002
Omnis Conversion  
Converting Omnis 7 applications to Omnis Studio. TNCN0001
Preparation of Omnis 7 code prior to conversion. TNCN0002
Windows User Access Control (UAC) TNWI0001
Running the Omnis App Server as a Windows Service TNWI0002
Obtaining Crash Reports on Windows TNWI0003
macOS Code Signing TNMA0001
macOS Notarization TNMA0002
Old Tech Notes
Please click here to access tech notes relating to old or obsolete technologies.

Search Omnis Developer Resources


Hit enter to search