I have copied the iPhone demo app with two TIWIphoneRegions linked by a PageFlip.
If I build an IPhoneList from an ADO query then show the detail by the following code
procedure TClientListForm.ListClientsAsyncItemClick(Sender: TObject;
EventParams: TStringList; ItemIndex: Integer);
begin
UpdateClientDetails(ItemIndex);
Flip1.SlideToBack;
end;
Then adding a button to the back region and putting the
SlideToFront in the Asynchronous Item Click to return to the front region does not work. Changing it to a normal
button click works fine, just not the async.
procedure TClientListForm.TIWIPhoneHeader2AsyncLeftButtonClick(Sender: TObject;
EventParams: TStringList);
begin
Flip1.SlideToFront;
end;
If however, I slide to the back region by using the following async click of the right header button on the front region, it slides to between the two regions fine.
procedure TClientListForm.TIWIPhoneHeader1AsyncRightButtonClick(Sender: TObject;
EventParams: TStringList);
begin
UpdateClientDetails(1);
Flip1.SlideToBack;
end;
Why won't this work when using an async click from the list?
This configuration is working as expected in the TMS iPhone Demo application.
Can you please have a look to see what you are doing differently in your application?
Are you seeing any error messages?
I worked out what was causing the issue..
I was setting the Notes for the List control like the following on the form creation.
Notes := UserSession.GenericQuery.FieldByName('address').AsString;
As the address field is an SQL text field it contained new line characters.
So adding this stripped those
Notes := StringReplace(Notes,Chr(10),'',[rfReplaceAll, rfIgnoreCase]);
Then the asynchronous button click on the detail region started working again.