Solved

messagedlg question

Posted on 2002-05-14
4
593 Views
Last Modified: 2011-09-20
Hi there!
Something's wrong with the result of the messagedlg() function?

messagedlg('Text',mtConfirmation,[mbYes,mbNo],0)

gives me an integer result of 3 when pressing "Yes" in the dialog at runtime.
This should correspond to the constat "mrYes", but this has an integer value of 6 so

if (messagedlg('text',mtconfirmation,[mbyes,mbno,0)=mryes)
 then // Yes clicked

does not work properly.

Any ideas?

0
Comment
Question by:max-hb
  • 2
4 Comments
 
LVL 4

Author Comment

by:max-hb
ID: 7008361
In qcontrols.pas i found the following definition:
Const
  mrNone     = 0;
  mrOk       = mrNone + 1;
  mrCancel   = mrOk + 1;  
  mrYes      = mrCancel + 1;

... but still inttostr(mrYes)="6" ... strange
0
 
LVL 11

Accepted Solution

by:
robert_marquardt earned 50 total points
ID: 7008469
mrYes in qcontrols.pas has obviously the value 3. The mrYes constant of controls.pas has the value 6.
So you most probably have qcontrols and controls in your uses. That is wrong.
0
 
LVL 1

Expert Comment

by:jellison
ID: 7008474
In my source files:  (Delphi 3)

In Controls.pas

mrYes = idYes;

and in Windows.pas

IDYES = 6;

Which might explain why you get a 6.  Which version are you using?

John
0
 
LVL 4

Author Comment

by:max-hb
ID: 7008560
Yes, that's it!
Never do something like

uses controls,qdialogs;

It results in the problem I stated above.
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question