一、Newobject() 函数 传递变量参数
Local llerror
Local lcfrmdqcolorbox
Local oerr As Exception
lcfrmdqcolorbox = "frmdqcolorbox"+Sys(2015)
*RELEASE &lcfrmdqcolorbox
Public &lcfrmdqcolorbox
Try
&lcfrmdqcolorbox = Newobject("frmdqcolorbox","dqcolorbox",null,This.Value,this)
Catch To oerr
llerror = .T.
Endtry
二、AddObject 方法 传递参数
local lladd
lladd = This.Parent.AddObject("cmdfind_" + This.Name ,"dqcmdfind" , This)
If lladd
This.ocmdfind = This.Parent.Controls[this.Parent.ControlCount]
Endif
三、CREATEOBJECT( ) 从类定义或一个可以自动控制的应用程序中创建对象。
CREATEOBJECT(cClassName [, eParameter1, eParameter2, …])
objXLsheet=CreateObject('Excel.Sheet')
objXLsheet.Application.Visible=.T.
oExcel=Createobject("Excel.application")
oExcel.Worksheets.Add()
This.AddProperty("_ScrollInfo", Createobject("_SCROLLINFO"))
四、GetObject() 激活 OLE 自动化对象,并创建此对象的引用。
下面的代码将启动 Microsoft Excel,打开名为 BUDGET.XLS 的文件,并通过名为 MBUDVAR 的对象内存变量创建引用:
MBUDVAR = GETOBJECT('C:\EXCEL\WORK\BUDGET.XLS')
对于某些服务器应用程序,每次调用 GETOBJECT( )函数,都将启动该应用程序的一个额外实例,并占用额外内存。如果该应用程序已经运行,可以仿照下面的示例,忽略 FileName 而包含 ClassName,从而避免启动该应用程序的额外实例:
oleApp = GETOBJECT(, "Excel.Application")
tmpsheet = GetObject('','Excel.Sheet')
XLApp = tmpsheet.Application
XLApp.Visible = .t.