Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Issue with MessageDlg on IOS 11


This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 12 - Last Post: Dec 18, 2017 7:44 AM Last Post By: Lajos Juhasz
William Brookfi...

Posts: 55
Registered: 1/1/10
Issue with MessageDlg on IOS 11  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 27, 2017 5:55 AM
Rad Studio 10.1 Berlin
This is a strange issue that showed up after update of our IPAD to IOS 11.n

Create a simple IOS app
Place label on form
Place button on form
Position button to a few pixels from bottom of form.
Set anchors on button to right and bottom.

Create click event on button
 procedure TForm7.Button1Click(Sender: TObject);
begin
    If (MessageDlg('Select yes or no',System.UITypes.TMsgDlgType.mtConfirmation,[System.UITypes.TMsgDlgBtn.mbYes,System.UITypes.TMsgDlgBtn.mbNo], 0) = mryes) then
       label1.text:='YES' else Label1.text:='NO'
end;


When run on Ipad, program will lock up after display of MessageDlg when you click the button.

Now move the button up 50 pixels or more from the bottom and rerun program.
MessageDlg works properly.

Anyone able to re-produce this issue.
William Brookfi...

Posts: 55
Registered: 1/1/10
Re: Issue with MessageDlg on IOS 11  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 27, 2017 7:29 AM   in response to: William Brookfi... in response to: William Brookfi...
William Brookfield wrote:
Rad Studio 10.1 Berlin
This is a strange issue that showed up after update of our IPAD to IOS 11.n

Create a simple IOS app
Place label on form
Place button on form
Position button to a few pixels from bottom of form.
Set anchors on button to right and bottom.

Create click event on button
 procedure TForm7.Button1Click(Sender: TObject);
begin
    If (MessageDlg('Select yes or no',System.UITypes.TMsgDlgType.mtConfirmation,[System.UITypes.TMsgDlgBtn.mbYes,System.UITypes.TMsgDlgBtn.mbNo], 0) = mryes) then
       label1.text:='YES' else Label1.text:='NO'
end;


When run on Ipad, program will lock up after display of MessageDlg when you click the button.

Now move the button up 50 pixels or more from the bottom and rerun program.
MessageDlg works properly.

Anyone able to re-produce this issue.

I also tried using the new TDialogServicesync.MessageDialog with exact same results.

If I use the Async version then program works properly.
William Brookfi...

Posts: 55
Registered: 1/1/10
Re: Issue with MessageDlg on IOS 11  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 29, 2017 12:52 PM   in response to: William Brookfi... in response to: William Brookfi...
William Brookfield wrote:
Rad Studio 10.1 Berlin
This is a strange issue that showed up after update of our IPAD to IOS 11.n

Create a simple IOS app
Place label on form
Place button on form
Position button to a few pixels from bottom of form.
Set anchors on button to right and bottom.

Create click event on button
 procedure TForm7.Button1Click(Sender: TObject);
begin
    If (MessageDlg('Select yes or no',System.UITypes.TMsgDlgType.mtConfirmation,[System.UITypes.TMsgDlgBtn.mbYes,System.UITypes.TMsgDlgBtn.mbNo], 0) = mryes) then
       label1.text:='YES' else Label1.text:='NO'
end;


When run on Ipad, program will lock up after display of MessageDlg when you click the button.

Now move the button up 50 pixels or more from the bottom and rerun program.
MessageDlg works properly.

Anyone able to re-produce this issue.

The reason I do not want to use the Async Message Dialog functions is that the dialog remains up after the user clicks the YES, NO or CANCEL buttons until the code that runs in the Async procedure is completed. For long running processes this appears to the user as a locked up application.
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Issue with MessageDlg on IOS 11  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 29, 2017 7:40 PM   in response to: William Brookfi... in response to: William Brookfi...
William Brookfield wrote:

The reason I do not want to use the Async Message Dialog functions is
that the dialog remains up after the user clicks the YES, NO or
CANCEL buttons until the code that runs in the Async procedure is
completed. For long running processes this appears to the user as a
locked up application.

Then that is a bug that needs to be reported to Embarcadero. The
documentation clearly states that the async procedure is not supposed
to run until after the dialog box is closed.

--
Remy Lebeau (TeamB)
William Brookfi...

Posts: 55
Registered: 1/1/10
Re: Issue with MessageDlg on IOS 11  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 30, 2017 5:20 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
The reason I do not want to use the Async Message Dialog functions is
that the dialog remains up after the user clicks the YES, NO or
CANCEL buttons until the code that runs in the Async procedure is
completed. For long running processes this appears to the user as a
locked up application.

Then that is a bug that needs to be reported to Embarcadero. The
documentation clearly states that the async procedure is not supposed
to run until after the dialog box is closed.

--
Remy Lebeau (TeamB)

Thank you the feeback Remy, But I was hoping the someone else can confirm this issue before I file a QC report. If multiple users confirm the same issue, Embarcadero might devote more time and resources to resolving it. That being said, I will create a QC report.

Report Created RSP-19450

Edited by: William Brookfield on Nov 30, 2017 8:43 AM
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: Issue with MessageDlg on IOS 11 [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 30, 2017 9:26 AM   in response to: William Brookfi... in response to: William Brookfi...
Am 30.11.2017 um 14:44 schrieb William Brookfield:
The reason I do not want to use the Async Message Dialog functions is
that the dialog remains up after the user clicks the YES, NO or
CANCEL buttons until the code that runs in the Async procedure is
completed. For long running processes this appears to the user as a
locked up application.

Then that is a bug that needs to be reported to Embarcadero. The
documentation clearly states that the async procedure is not supposed
to run until after the dialog box is closed.

--
Remy Lebeau (TeamB)

Thank you the feeback Remy, But I was hoping the someone else can confirm this issue before I file a QC report. If multiple users confirm the same issue, Embarcadero might devote more time and resources to resolving it. That being said, I will create a QC report.

Report Created RSP-19450

Edited by: William Brookfield on Nov 30, 2017 8:43 AM

Hello,

you may work around this by starting a short timed TTimer in that async
proc and put your code in that OnTimerEvent.

Greetings

Markus
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Issue with MessageDlg on IOS 11 [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 30, 2017 9:48 AM   in response to: Markus Humm in response to: Markus Humm
Markus Humm wrote:

you may work around this by starting a short timed TTimer in that
async proc and put your code in that OnTimerEvent.

Instead of a timer, I would use a custom window message with
PostMessage() on Windows, or a cross-platform solution is to use
TThread.CreateAnonymousThread() + TThread.Queue(...), or
TThread.ForceQueue() in Tokyo and later.

--
Remy Lebeau (TeamB)
William Brookfi...

Posts: 55
Registered: 1/1/10
Re: Issue with MessageDlg on IOS 11 [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 30, 2017 10:20 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy Lebeau (TeamB) wrote:
Markus Humm wrote:

you may work around this by starting a short timed TTimer in that
async proc and put your code in that OnTimerEvent.

Instead of a timer, I would use a custom window message with
PostMessage() on Windows, or a cross-platform solution is to use
TThread.CreateAnonymousThread() + TThread.Queue(...), or
TThread.ForceQueue() in Tokyo and later.

--
Remy Lebeau (TeamB)

I appreciate the suggestions and both a timer or a PostMessage would work, But, they are HACKS to get around that issue that the Async message Dialog feature is broken. If you have many prompts in your program for a user to decide to do this or that, It would require a lot of re-design to accommodate all the message dialog's even if you created a single post message event handler. I have confirmed that this issue also occurs on IOS 10.3.3 as well as IOS 11.1.2 both 64 and 32 bit (Debug and Release builds)

I was hoping the another user can confirm this issue.
William Brookfi...

Posts: 55
Registered: 1/1/10
Re: Issue with MessageDlg on IOS 11 [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 7, 2017 6:47 AM   in response to: William Brookfi... in response to: William Brookfi...
William Brookfield wrote:
Remy Lebeau (TeamB) wrote:
Markus Humm wrote:

you may work around this by starting a short timed TTimer in that
async proc and put your code in that OnTimerEvent.

Instead of a timer, I would use a custom window message with
PostMessage() on Windows, or a cross-platform solution is to use
TThread.CreateAnonymousThread() + TThread.Queue(...), or
TThread.ForceQueue() in Tokyo and later.

--
Remy Lebeau (TeamB)

I appreciate the suggestions and both a timer or a PostMessage would work, But, they are HACKS to get around that issue that the Async message Dialog feature is broken. If you have many prompts in your program for a user to decide to do this or that, It would require a lot of re-design to accommodate all the message dialog's even if you created a single post message event handler. I have confirmed that this issue also occurs on IOS 10.3.3 as well as IOS 11.1.2 both 64 and 32 bit (Debug and Release builds)

I was hoping the another user can confirm this issue.

It has been a week since I posted the QC Report and no activity from Embarcadero on this issue. Would really like to know if anyone else has experienced or can confirm this issue. This would seem to me to be a major bug.
Dave Nottage

Posts: 1,850
Registered: 1/7/00
Re: Issue with MessageDlg on IOS 11 [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 7, 2017 2:28 PM   in response to: William Brookfi... in response to: William Brookfi...
William Brookfield wrote:

It has been a week since I posted the QC Report and no activity from Embarcadero on this issue. Would really like to
know if anyone else has experienced or can confirm this issue. This would seem to me to be a major bug.

I've made a comment on the report that includes a possible workaround.

For those just joining in, the report is at: https://quality.embarcadero.com/browse/RSP-19450

--
Dave Nottage [MVP, TeamB]
Find hints, tips and tricks at Delphi Worlds blog: http://www.delphiworlds.com
William Brookfi...

Posts: 55
Registered: 1/1/10
Re: Issue with MessageDlg on IOS 11 [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 7, 2017 2:38 PM   in response to: Dave Nottage in response to: Dave Nottage
Dave Nottage wrote:
William Brookfield wrote:

It has been a week since I posted the QC Report and no activity from Embarcadero on this issue. Would really like to
know if anyone else has experienced or can confirm this issue. This would seem to me to be a major bug.

I've made a comment on the report that includes a possible workaround.

For those just joining in, the report is at: https://quality.embarcadero.com/browse/RSP-19450

--
Dave Nottage [MVP, TeamB]
Find hints, tips and tricks at Delphi Worlds blog: http://www.delphiworlds.com

Dave,

Thank you so much for your effort to find a workaround for this issue.
I will give it a try. I really hate making external patches to Emb's code, but have done it before.
Again thank you...

Bill B
William Brookfi...

Posts: 55
Registered: 1/1/10
Re: Issue with MessageDlg on IOS 11 [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 18, 2017 6:57 AM   in response to: William Brookfi... in response to: William Brookfi...
William Brookfield wrote:
Dave Nottage wrote:
William Brookfield wrote:

It has been a week since I posted the QC Report and no activity from Embarcadero on this issue. Would really like to
know if anyone else has experienced or can confirm this issue. This would seem to me to be a major bug.

I've made a comment on the report that includes a possible workaround.

For those just joining in, the report is at: https://quality.embarcadero.com/browse/RSP-19450

--
Dave Nottage [MVP, TeamB]
Find hints, tips and tricks at Delphi Worlds blog: http://www.delphiworlds.com

Dave,

Thank you so much for your effort to find a workaround for this issue.
I will give it a try. I really hate making external patches to Emb's code, but have done it before.
Again thank you...

Bill B

It has been over 2 weeks since I created the QC report RSP-19450/ and RSP-19490.
Is this now the norm that no one from EMB has responded to ether of them?
In the past, I was only a couple of days.
Lajos Juhasz

Posts: 801
Registered: 3/14/14
Re: Issue with MessageDlg on IOS 11 [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 18, 2017 7:44 AM   in response to: William Brookfi... in response to: William Brookfi...
William Brookfield wrote:

William Brookfield wrote:
Dave Nottage wrote:
William Brookfield wrote:

It has been a week since I posted the QC Report and no activity
from Embarcadero on this issue. Would really like to know if
anyone else has experienced or can confirm this issue. This
would seem to me to be a major bug.

I've made a comment on the report that includes a possible
workaround.

For those just joining in, the report is at:
https://quality.embarcadero.com/browse/RSP-19450

--
Dave Nottage [MVP, TeamB]
Find hints, tips and tricks at Delphi Worlds blog:
http://www.delphiworlds.com

Dave,

Thank you so much for your effort to find a workaround for this
issue. I will give it a try. I really hate making external
patches to Emb's code, but have done it before. Again thank you...

Bill B

It has been over 2 weeks since I created the QC report RSP-19450/ and
RSP-19490. Is this now the norm that no one from EMB has responded
to ether of them? In the past, I was only a couple of days.

The status of RSP-19490 is open and assigned to "Internal dev" whatever
that means.
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02