Problem updating listbox with timer

I am trying to update a listbox as different steps are accomplished during a calibration process that takes about a minute to complete. If I put ListBox1.AddRow "task done" in the button action, it waits until everything is done before printing on the screen. So I change to

Xojo.Core.Timer.CallLater(1, AddressOf WriteProgress, “task done”)

and added this method

Public Sub WriteProgress(s123 As Auto)
lbProgress.AddRow s123
End Sub

When I try to run it, I get this error
There is more than one item with this name and it's not clear to which this refers.

There is just one listbox named lbProgress and s123 appears nowhere else in the app. Rows are added to lbProgress in other methods that occur before the calibration method runs. I am running Xojo 2019r1.1. I tried WeakAddressOf in my CallLater but get the same error message.

s123 as String

On which line are you getting this error? I suspect @Marius_Dieter_Noetzel is right, that you have to cast s123 to String before feeding it to AddRow.

If your minute-long process is running on the main thread, then it will block all UI updates regardless of using a timer or not. Put that process in a thread and use AddUserInterfaceUpdate to add rows to the listbox.

Public Sub WriteProgress(s123 As Auto)
dim s as String = s123
lbProgress.AddRow s
End Sub

Problem solved. Thanks everyone.