起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: stellastarr

【搞定】信息隔离级的问题**

[复制链接]
发表于 2007-7-6 17:43:33 | 显示全部楼层
问题都在28楼,逐一回复一下吧
我也给做了重现问题的包。

引用测试.rar

19.36 KB, 下载次数: 39

回复 支持 反对

使用道具 举报

发表于 2007-7-7 19:13:05 | 显示全部楼层
up
回复 支持 反对

使用道具 举报

发表于 2007-7-9 09:43:58 | 显示全部楼层
Button1 调用的是信息下的方法
Button2 调用的是信息的文档下的方法

如果把业务模型\业务系统\客户关系管理(CRM)\引用测试\引用测试业务信息\空白表单1 这个文档中的信息代理InfoBroker去掉,调用就正常了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-9 11:12:53 | 显示全部楼层
按照版主所说,去掉空白表单1文档中的信息代理InfoBroker之后,Button2的调用确实不再报INFO隔离级的问题了,但是为什么去掉信息代理之后就可以了呢,为什么为信息下的表单添加信息代理之后在功能中创建信息文档的实例调用信息文档中的方法就报错,而去掉InfoBroker就不报错了呢
回复 支持 反对

使用道具 举报

发表于 2007-7-9 14:55:08 | 显示全部楼层
看看代码,这里在功能环境中创建文档,文档上又有一个InforBroker,这个代理是Default,就是说从当前环境中找这个信息,而你传递给的环境是功能环境,根本就没有信息环境,所以就会报错
  lInfo := INFO_YYCSYWXX.TDOC_KBBD1.Create(Context);
  try
    lInfo.ShowFormDoc;
  finally
    lInfo.Free;
  end;

楼主看到 21楼给的连接吗?你可以参考21楼的代码,在功能环境Context中找需要的信息环境,然后把信息环境作为参数来创建文档对象才可以
回复 支持 反对

使用道具 举报

发表于 2007-7-9 15:06:20 | 显示全部楼层
不好意思,换了台机器,用了别人的帐号
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-10 10:16:57 | 显示全部楼层
那为什么Button1创建信息的实例并调用信息的方法就没有错误呢,我当前传递的环境不也是功能环境么
回复 支持 反对

使用道具 举报

发表于 2007-7-10 10:36:24 | 显示全部楼层
信息是创建在功能环境的,所以你直接用Self.Context就可以
但是文档是需要信息环境的,直接给Self.context就不行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-10 14:00:10 | 显示全部楼层
那么就是说信息是在功能环境下存在,此时在功能环境下能够找到信息,所以Button1引用信息的方法不会报错;
而信息下的文档是生存在信息环境中,在功能环境中无法找到信息环境下的文档实例,所以Button2引用信息下的文档的方法会报信息隔离级的错误,我可以这样理解么,版主
回复 支持 反对

使用道具 举报

发表于 2007-7-10 14:44:01 | 显示全部楼层
不是找到,而是创建Create
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-12 20:44 , Processed in 0.042883 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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