Delphi函数调用时参数过多,应该怎么处理或优化?

2026-04-10 02:491阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计415个文字,预计阅读时间需要2分钟。

Delphi函数调用时参数过多,应该怎么处理或优化?

我继承了程序,发现它有很多问题。最新的问题是关于过多的实际参数警告:`if MessageDlgPos('IS THIS CORRECT?', mtConfirmation, [mbyes, mbno], 0, 400, 450, mbno)=mrno then begin edtPstvEmplyNmbr.SetFocus;xitFlg :=True;end`

我继承了一个程序,它有很多问题.最新的一个是太多实际参数警告:

if MessageDlgPos('IS THIS CORRECT? ' , mtConfirmation, **[mbyes, mbno], 0, 400, 450, mbno) = mrno then begin** edtPstvEmplyNmbr.SetFocus; xitFlg:= True;

粗体部分是错误突出显示的部分.

注意:程序工作,只是不在我的机器上.它是使用相同版本的Delphi(7)开发的,但是在clx(kylix)环境中.我想我(可能)已经解决了clx和vcl(我当前的环境)之间的所有不兼容问题,但可能是我错过了一个产生此错误的组件.我会尽力澄清任何问题,但请记住,我只在几个月内开发Delphi.

德尔福的VCL和Kylix的CLX并不完全兼容.特别是,一些类似命名的函数会使用不同数量的参数,因为您已经了解了第一手资料.

现代版本的Delphi支持您尝试调用的MessageDlgPos版本,但很明显Delphi 7没有.可能发生的是,当VCL版本只有六个参数时,CLX引入了七参数重载,然后后来的Delphi版本将CLX版本移植回VCL.请记住,Delphi 7已有十多年的历史.

要查看可以使用的功能版本,请查看Dialogs.pas.

Delphi函数调用时参数过多,应该怎么处理或优化?

如果你有六个参数版本,你可能只需删除最后一个参数,然后只处理默认按钮可能不是你想要的那个事实.另一种方法是调用MessageBox,它将允许您指定默认按钮,但代价是能够指定窗口位置.

本文共计415个文字,预计阅读时间需要2分钟。

Delphi函数调用时参数过多,应该怎么处理或优化?

我继承了程序,发现它有很多问题。最新的问题是关于过多的实际参数警告:`if MessageDlgPos('IS THIS CORRECT?', mtConfirmation, [mbyes, mbno], 0, 400, 450, mbno)=mrno then begin edtPstvEmplyNmbr.SetFocus;xitFlg :=True;end`

我继承了一个程序,它有很多问题.最新的一个是太多实际参数警告:

if MessageDlgPos('IS THIS CORRECT? ' , mtConfirmation, **[mbyes, mbno], 0, 400, 450, mbno) = mrno then begin** edtPstvEmplyNmbr.SetFocus; xitFlg:= True;

粗体部分是错误突出显示的部分.

注意:程序工作,只是不在我的机器上.它是使用相同版本的Delphi(7)开发的,但是在clx(kylix)环境中.我想我(可能)已经解决了clx和vcl(我当前的环境)之间的所有不兼容问题,但可能是我错过了一个产生此错误的组件.我会尽力澄清任何问题,但请记住,我只在几个月内开发Delphi.

德尔福的VCL和Kylix的CLX并不完全兼容.特别是,一些类似命名的函数会使用不同数量的参数,因为您已经了解了第一手资料.

现代版本的Delphi支持您尝试调用的MessageDlgPos版本,但很明显Delphi 7没有.可能发生的是,当VCL版本只有六个参数时,CLX引入了七参数重载,然后后来的Delphi版本将CLX版本移植回VCL.请记住,Delphi 7已有十多年的历史.

要查看可以使用的功能版本,请查看Dialogs.pas.

Delphi函数调用时参数过多,应该怎么处理或优化?

如果你有六个参数版本,你可能只需删除最后一个参数,然后只处理默认按钮可能不是你想要的那个事实.另一种方法是调用MessageBox,它将允许您指定默认按钮,但代价是能够指定窗口位置.