MessageDlgのパラメーター数?

解決


kikai  2006-10-12 23:33:19  No: 23572

以下は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 23:48:27  No: 23573

ちなみに、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-13 00:39:01  No: 23574

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


kikai  2006-10-13 00:50:57  No: 23575

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

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


kikai  2006-10-13 00:52:16  No: 23576

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加