起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 676|回复: 11

【搞定】问个严谨的问题^_^**

[复制链接]
发表于 2006-9-22 14:35:37 | 显示全部楼层 |阅读模式
资源集里比如我有个方法需要创建个窗体,由于静态方法没有类实例,所有没有环境变量可以传给我要创建的窗体,那么MyForm := TMyForm.Create(AContext: TContext),我发现写成TMyForm.Create(nil) 也可以编译通过,这个有影响吗?
回复

使用道具 举报

 楼主| 发表于 2006-9-22 14:36:58 | 显示全部楼层
当然我可以在方法里要求调用方传个环境过来,我就问问写成Create(nil)编译通过了,可以这么用吗?
回复 支持 反对

使用道具 举报

发表于 2006-9-22 14:50:53 | 显示全部楼层
可以啊,只要在窗体里不要使用和环境有关的东西。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-22 15:19:51 | 显示全部楼层
好,谢谢jiahaiminghr的确认,结贴吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-8 10:47:52 | 显示全部楼层
今天又遇到了类似问题,请问3楼:只要在窗体里不要使用和环境有关的东西
能举例说说吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-8 11:04:08 | 显示全部楼层
比如如果窗体上有TSQLDataSet是否在创建时候就必须传环境进来呢^_^
回复 支持 反对

使用道具 举报

发表于 2007-2-8 13:21:58 | 显示全部楼层
这么"严谨"的问题怎么不去试一下呢,
回复 支持 反对

使用道具 举报

发表于 2007-2-8 14:20:58 | 显示全部楼层
nil表示没有环境,如果这里出现比如取当前操作者,FuncBroker等就会出错了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-8 14:50:56 | 显示全部楼层
To七楼:呵呵我已经反复测试了N遍了,目前我能测试出得结果就是如果创建个空白窗体无需传环境,但是当我在实际业务中需要创建一个复杂得窗体时候就报错了,因此怀疑是某些组件需要环境(当然如果在代码里取和环境相关得信息肯定会报错这个我知道)
我那个窗体有TSQLDataSet有TDataSource有TCodedDataTreeView,现在通过测试我怀疑是某些组件需要环境
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-8 14:52:20 | 显示全部楼层
不知道我得推断是否正确,请斑竹确认一下,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-25 09:13 , Processed in 0.043848 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表