Help / Developing for iOS (iPhone / iPad)
  • Overview
  • Available project elements
  • Available controls
  • Databases
  • Modal windows
  • Loopers
  • Automatic scrollbars in the windows
  • Running the project code
  • Managing character strings
  • Managing directories
  • Changing the screen orientation
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
Available project elements
The following project elements are available for iPhone/iPad development:
  • Windows. A window wizard is used to create specific windows for iOS.
  • Queries.
  • Classes.
  • Sets of procedures.
  • Window templates.
  • Control templates.
  • Reports and report templates.
  • Internal windows.
The following elements are not available for iPhone/iPad development:
  • Components.

Available controls

The following controls are available for iPhone/iPad development:
  • It is recommended not to use accented characters in the project name.
  • The image catalog offers specific images and icons for iPhone/iPad applications. All you have to do is select the "iOS" theme during your search. Your interface will use the standard images available for iPhone/iPad applications.
  • Management of images based on the DPI: Images can be pixelated or blurred depending on the DPI of the device. You can use the automatic DPI management. For more details, see Android/iOS: Providing an image per DPI.
Databases for iPhone/iPad applications must be in HFSQL Classic or HFSQL Client/Server format.
The main Hxxx commands are available. Queries are also available.
For an HFSQL Client/Server database, the data files of the iPhone/iPad application can be shared with other applications (other than iPhone/iPad applications).
  • It is recommended not to use accented characters in the names of HFSQL data files.
  • Data can be automatically modified when the application is updated. To propagate the changes made in the analysis on data files deployed on the iPhone or iPad, simply use HModifyStructure (for example, in the project initialization code).
Modal windows
Modal widows are not supported in iOS. The Open function is not allowed.
Windows can be opened:
How to pass a return value?
  • When closed, a child or sibling window can call a local procedure of the window that opened it in order to pass it a return value. A return value can also be returned via a global variable.
  • You can specify the return value via the ReturnedValue property of the child window, and retrieve this value via the "Close a child window of the window" event of the parent window.
In iPhone/iPad applications, Looper controls can be in edit mode.
Remark: The Looper controls can be used to replace the Table controls in an iPhone application. The Table controls are not used on the iPhone for the following reasons:
  • The interface of Table controls is not suitable.
  • Problem regarding the space in the windows: the columns and the column headers would not be displayed.
  • The row height would be too small to interact with it by touch.
  • The Table controls are not used in the interface standard of this system.
From version 20, Table controls are available in iPhone/iPad applications.
Automatic scrollbars in the windows
If the size of a window exceeds the size of the screen and if "Automatic scrollbars" is checked in the window description, a scrollbar is automatically added to the right of window. Its presence must be taken into account when designing the window in order for this scrollbar not to overlay the controls.
Running the project code
The project code should not take more than 10 seconds to run. This means that if the code exceeds this duration, the application is not loaded. Furthermore, if OpenMobileWindow (or OpenChild) is run in the project code in the middle of other lines of code, all the lines are run first, then the window is opened.
Managing character strings
When developing a project for iPhone/iPad, the iOS system uses character strings in Unicode format.
By default, in the following declaration:
MaChaîne is string
The MyString variable is automatically considered as being a Unicode string.
To specify that a character string is in Ansi format, you must use the following declaration:
MyString is ANSI string
Managing directories
The management of directories in the iPhone/iPad applications presents these specific features:
  • By default, the current directory of an application corresponds to the "Documents" sub-directory that is automatically created in the setup directory of the application.
  • The relative paths handled by the application are relative to this directory.
  • The full path of current directory is returned by fCurrentDir. By default, you have the ability to read and write in this directory.
  • The current directory can be modified by fCurrentDir.
  • The runtime directory (returned by fExeDir) corresponds to the root directory of the application.
For more details on the management of application directories, see Summary table: Managing directories according to the platform.
Changing the screen orientation
Three orientation modes are available for the windows ("Details" tab of the window description):
  • Free: the window follows the orientation.
  • Locked in Portrait mode.
  • Locked in Landscape mode.
If the window follows the orientation, you must uncheck the "Automatic scrollbars" option ( "Details" tab of the window description).
To detect if the screen orientation has changed, use the "Changing the orientation" event in the windows.
Minimum version required
  • Version 17
Click [Add] to post a comment

Last update: 01/31/2024

Send a report | Local help