你们所说的好像都是自定义的过程或函数,delphi本身的接口哪个是有缺省参数的,请举个例子 ,还有"只有常参才能有默认值"是什么意思,哪些是常参?soToolkit.CompressECW(strSrcImageFile As String,strDestEcwFile As String,[nCompressHint As Long],[nDestCompression As Long],[dX0 As Double],[dY0 As Double],[dResolutionX As Double],[dResolutionY As Double],[nResolutionUnits As Long],[strDatum As String],[strProjection As String]) 第三方控件的接口的参数如上所示,本来带[]是可缺省的,在VB中不要这些省数是可以的,但是在delphi这些参数必须要,否则出错,怎么办?
函数 procedure TWebModule1.XMLBroker2RequestRecords(Sender: TObject; Request: TWebRequest; out RecCount: Integer; var OwnerData: OleVariant; var Records: String); 其中参数Sender、Request是常参,OwnerData、Records是变参
Delphi中的可选参数没有带[]之说,那我怎么怎么哪些参数是可选的,哪些参数是必选的呢? MessageDlg('Welcome to my Object Pascal application. Exit now?', mtConfirmation, [mbYes, mbNo], 0)这个方法中[mbYes, mbNo]就带[],但它们是必选的 ,Delphi太笨了。
例如:
procedure DefaultParamTestFunc(var para1:integer;const para2:string='abc');
begin
////...
end;
需要注意的事, 在Delphi中,只有常参才能有默认值,而且含有默认值的必须在后面,就是说,在第一个有默认值的参数的后面的参数都必须幽默认值。
,还有"只有常参才能有默认值"是什么意思,哪些是常参?soToolkit.CompressECW(strSrcImageFile As String,strDestEcwFile As String,[nCompressHint As Long],[nDestCompression As Long],[dX0 As Double],[dY0 As Double],[dResolutionX As Double],[dResolutionY As Double],[nResolutionUnits As Long],[strDatum As String],[strProjection As String])
第三方控件的接口的参数如上所示,本来带[]是可缺省的,在VB中不要这些省数是可以的,但是在delphi这些参数必须要,否则出错,怎么办?
procedure TWebModule1.XMLBroker2RequestRecords(Sender: TObject;
Request: TWebRequest; out RecCount: Integer; var OwnerData: OleVariant;
var Records: String);
其中参数Sender、Request是常参,OwnerData、Records是变参
MessageDlg('Welcome to my Object Pascal application. Exit now?',
mtConfirmation, [mbYes, mbNo], 0)这个方法中[mbYes, mbNo]就带[],但它们是必选的
,Delphi太笨了。