求教:VFP的函数调用,形参究竟有没有“默认参数值”的概念?
刚才读VFP系统自带的“类管理器”(xsource - browser)的源码,读到一句函数调用,产生了这个疑惑。xsource存放在VFP安装目录下的"Tools\xsource"内,“类管理器”在xsource的子目录“browser”内,或见附件:
browser.rar
(388.35 KB)
browser.SCX表单中,“查看代码”按钮cmdExport.Click()代码是:
RETURN thisform.ExportClass(.T.)
而thisform.ExportClass方法代码是:
LPARAMETERS tcAlias,tcExportToFile
LOCAL lvResult
this.vResult=.T.
DO brwExportView IN browser WITH (this),(tcAlias),(tcExportToFile)
...
毕竟是微软提供的代码,而非自己写的,我找了半天,始终未查到形参tcExportToFile是什么东东?
初以为是全局变量,又不太可能。看名字,猜可能是“输出至.prg或.txt时指定的默认文件名”吧。
可,这ExportClass方法的LPARAMETERS指定了2个形参,也没法像VB那样,指定第2个形参的默认值:
lPARAMETERS tcAlias,tcExportToFile = "viewcode.prg"
然而调用此方法时,却只传递了第1个参数.T.,第2个参数忽略掉了。
那么,在VFP中,第2个形参未被显式赋值,则其默认参数值为tcExportToFile = .f.,对吗?
在第4行甚至还用到了这个被省略掉的参数值,再直接拿它去调用另一子程序brwExportView()
现在问题来啦,VFP能否像VB那样,显式地、主动地更改一个函数形参的“默认参数值”?
[此贴子已经被作者于2022-11-22 18:36编辑过]