起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 154|回复: 8

【搞定】[请求]内部对象调用外部容器的方法时出现AC错误**

[复制链接]
发表于 2007-5-18 16:25:53 | 显示全部楼层 |阅读模式
我在功能窗体中放入了一个DocView控件,功能窗体中没有按钮。
我把按钮全部做在各个doc里,企图通过每个doc里的按钮来操作它的容器(即DocView)的方法(docview.docClassId:=XXX),以达到切换doc的目的。

现在的问题是我把docview.docClassId:=XXX写在了按钮的onclick方法中,可以实现跳转,但会出现Access violation错误。猜想原因是doc1中的按钮的onclick方法没有实现完(因为他的效果是毁掉Doc1,换成Doc2),调用它的按钮已经被销毁。

我想问问有没有什么变通的方法可以实现类似功能,比如使用静态成员变量(可惜delphi好像不支持)。
回复

使用道具 举报

发表于 2007-5-18 17:47:03 | 显示全部楼层
象你这样的处理,应该在功能层上做,把按钮放到功能层的窗体上
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-19 09:31:11 | 显示全部楼层
但是用户要求尽量做在业务信息中,因为每个doc的按钮不一样。
回复 支持 反对

使用道具 举报

发表于 2007-5-19 09:39:31 | 显示全部楼层
通过控制窗体的按钮的visible属性来做吧,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-19 09:47:28 | 显示全部楼层
谢谢,看来现在只能用这种方法了。
另外,我想问问:docview有没有doc预载方法,有的话,这也是个解决方法。
回复 支持 反对

使用道具 举报

发表于 2007-5-19 09:54:46 | 显示全部楼层
预载方法?这个词怎么理解
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-19 10:04:10 | 显示全部楼层
预载就是预先载入下一个将要显示的doc
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-19 10:08:05 | 显示全部楼层
现在我把方案换成用窗体实现,也可以实现相同功能,谢谢你的解答,可以结贴了。
回复 支持 反对

使用道具 举报

发表于 2007-5-19 14:45:34 | 显示全部楼层
ok
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-10 17:37 , Processed in 0.036709 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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