iOS Question Module Crashes On Re-Orientation With iPhone X [Solved]

RichardN

Well-Known Member
Licensed User
Longtime User
This is a problem that I am unable to properly debug without an iPhone X device in the current lock-down situation so I hope perhaps somebody has seen this before.

The application has a module presenting a TextField and a CustomListView to search and display database data. These elements are loaded from a layout. The clvBrowse elements are simply two labels, again lazy-loaded from a layout. The elements look like this:
B4X:
Sub Process_Globals

    Private PageBrowse As Page
    Private clvBrowse As CustomListView
    Private txtClue As B4XView
    
    Private XUI As XUI
    Private pnlCellData As B4XView   
    Private lblLine1, lblLine2 As B4XView
    
End Sub

The PageBrowse_Resize event is not utilised in this module so is absent. In both debug and release the app functions perfectly using my two test devices, an iPhone 6+ and an iPad Pro.

I have deployed the app remotely to several colleagues to test but those with the iPhone 10 report the app crashes on re-orientation when this module displayed. In the current situation it may be some time before I can debug with an actual iPhone X. Why should this happen? Has anybody seen this behaviour before?
 

RichardN

Well-Known Member
Licensed User
Longtime User
When I started the Lazy-Loading code for the CustomListView I was too lazy...... I populated the cell items from an SQL query in the TextSearch_RangeChanged event with SQL.ExecQuery("SELECT....") returning a Resultset that I then scrolled thorough to populate the cells added. Apparently that raises no issues with slower devices in either debug or release mode. However in faster devices like the iPhone X it evidently causes problems.

I changed the code to use SQL.ExecQueryAsync("SELECT...") and then WAIT for SQL_QueryComplete before adding the data to the view.

Changing to SQL.ExecQueryAsync is proving to be a little slower in older devices but no longer crashes the iPhone X.
 
Upvote 0
Top