MessageDlgのパラメーター数?

解決


kikai  2006-10-12 14:33:19  No: 23572  IP: 192.*.*.*

以下はMessageDlgのHelpでの例です。(Delphi7)
エディタに貼り付けて実行しますと「実パラメーターが多すぎます」と怒られます。
どうして?

procedure TForm1.Button1Click(Sender: TObject);
begin
  if MessageDlg('Welcome to my Delphi application.  Exit now?',
    mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes then
  begin
    MessageDlg('Exiting the Delphi application.', mtInformation,
      [mbOk], 0, mbOk);
    Close;
  end;
end;

編集 削除
通りすがり  2006-10-12 14:48:27  No: 23573  IP: 192.*.*.*

ちなみに、Delphi6のヘルプはこうなってます。
Delphi6では問題なく動きます。
Delphi7は持ってないのでなんとも言えませんが、参考までに。

procedure TForm1.Button1Click(Sender: TObject);

begin
  if MessageDlg('Welcome to my Object Pascal application.  Exit now?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
    MessageDlg('Exiting the Object Pascal application.', mtInformation,
      [mbOk], 0);
    Close;
  end;
end;

編集 削除
通りすがり  2006-10-12 15:39:01  No: 23574  IP: 192.*.*.*

CLXアプリケーションだと怒られませんね。

編集 削除
kikai  2006-10-12 15:50:57  No: 23575  IP: 192.*.*.*

Delphi7での例の最後のパラメーターはデフォルトボタンの指定のようです。
Delphi6での例はDelphi7でも動きますので、
MessageDlgではデフォルトボタンの指定は出来ないのが仕様?
と納得しました。

通りすがり様、ありがとうございました。

編集 削除
kikai  2006-10-12 15:52:16  No: 23576  IP: 192.*.*.*

解決チェック忘れました。

編集 削除