前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于自定义类Custom如何添加其它自定义类?

关于自定义类Custom如何添加其它自定义类?

作者头像
加菲猫的VFP
发布2021-11-02 16:44:24
1.2K0
发布2021-11-02 16:44:24
举报
文章被收录于专栏:加菲猫的VFP加菲猫的VFP

作者:hunter__fox

一般情况下,我们使用Custom派生自己的自定义类。

如果我们的自定义类里需要调用另一个自定义类的时候,我们是否可以将它作为这个类中的一个控件将它插入呢?

答案是否定的。

在向Custom中添加控件时,会得到提示,不能向不可视类里添加对象。

但是,如果我们的自定义不可视类(如myCustom)确实需要在其中再包含一个类时,怎么办?

直接的办法是,向类添加一个属性,并在Init事件里为这个属性赋值为相应的对象:

Procedure Init

This.CursorAdapter = CreateObject('myCursorAdapter')

...

EndProc

这样确实解决了问题,但还是不够好,因为我们在为类编写代码时,输入This.CursorAdapter.时,并没有下拉列表。我们只能凭记忆去使用它的方法与属性。

这个问题是可以解决的。

在为myCustom添加属性CursorAdapter后,我们在命令窗口里输入:

Public arSelObj[1],Selobj

Aselobj(arSelObj)

Selobj = arSelObj[1]

Selobj.CursorAdapter = CrecteObject('myCursorAdapter')

Release Selobj,arSelObj

运行这一段代码后,我们再回到myCustom的代码窗口,输入This.CursorAdapter.

这时,就可以看到关于myCursorAdapter的方法属性事件列表了。

这将有利于我们编写myCustom类的功能实现代码。

当然,在代码中,我们还是需要在适当的时候为CursorAdapter属性赋一个myCursorAdapter实例才行,以上方法仅是为编写代码提供了语法引导。

如果你不在意是否在属性编辑器里看到它,那么就更好办了,你可以使用命令直接向它添加对象,调用Addobject方法即可,这样就会添加一个对象而不是属性,但它不会出现在属性列表中。

这样添加的对象需要再用代码为它建立实例了。

Public arSelObj[1],Selobj

Aselobj(arSelObj)

Selobj = arSelObj[1]

Selobj.AddObject('CursorAdapter','myCursorAdapter')

Release Selobj,arSelObj

因为Custom是不可视的类,所有,即使它含有了这样的一个对象,也不能从下拉列表中选择到这个对象从而对它进行编辑。不过这已经够了,我们可以直接在myCursorAdapter编写关于CA的代码。

猫猫的心里话

如何帮助使用VFP的人?

用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。无论如何请不要嘲笑他们说帮助都不看,这么简单的问题都不会,嘲笑别人不行,而无法提出建设性答案,是很low的。

我们无论工作需要,还是有自己的软件,都是是需要真正的知识,如何让更多人学习真正的VFP知识呢,只需要点赞,在看,能转发朋友圈就更好了。

加菲猫的vfp倡导用VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发。

已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加菲猫的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档