起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 211|回复: 9

【搞定】关于动态设置DocView.doc的问题?**

[复制链接]
发表于 2008-1-28 16:52:17 | 显示全部楼层 |阅读模式
在程序运行时,默认加载的是DOC1,当DOC1页面上的一个字段A发生变化时,DocView.doc会随着字段A其变化而变化,代码如下:

    with Dataset do
    begin
      if FieldByName('Mode').AsString='A' then DocView2.DocClassID  :='TECHNIQUESHEETFORM'
      else if FieldByName('Mode').AsString='B' then DocView2.DocClassID  :='MANAGERSHEETFORM'
      else if FieldByName('Mode').AsString='C' then DocView2.DocClassID  :='OPERATESHEETFORM'
      else if FieldByName('Mode').AsString='D' then DocView2.DocClassID  :='PERSONSHEETFORM';
      DocView2.RefreshDoc(True);
    end;
在实际运行中,却报错,并且报错还不一样,有时报
  Access violation at address 400058C4 in module 'rtl60.bpl'. Read of address 0000005F

有时报
   Access violation at address 023A4B9E in module 'CLRModel.bpl'. Read of address 00000000


请帮看下,哪个地方有问题,正确的写法又是如何写的
回复

使用道具 举报

发表于 2008-1-28 17:15:39 | 显示全部楼层
你写到哪个事件上了?应该是事件不对。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-29 08:54:29 | 显示全部楼层
我写在数据集的OnFieldChange事件中
回复 支持 反对

使用道具 举报

发表于 2008-1-29 08:59:12 | 显示全部楼层
OnFieldChange  这个字段在当前要切换的DocView的文档里面吗?如果是不能这样做,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-29 09:09:05 | 显示全部楼层
是的,比如当前默认的DOC是DOC1,在DOC1中某字段的OnFieldChange  ,DocClassID  随着该字段变化而变化,不能这样做的话,那就只有用其他办法了
回复 支持 反对

使用道具 举报

发表于 2008-1-29 09:19:17 | 显示全部楼层
恩,不能这样做,把这个字段放到文档外面吧,没有其他的问题就结了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-29 09:21:37 | 显示全部楼层
好的,结了吧,谢谢了
回复 支持 反对

使用道具 举报

发表于 2008-1-29 09:23:48 | 显示全部楼层
好,不客气

顺便再麻烦你一件事情,让单工看看他提交帖子,让他跟一下,没有问题,就结了,thanks
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-29 09:31:20 | 显示全部楼层
好的,不过现在他在外地出差,可能暂时联系不上
回复 支持 反对

使用道具 举报

发表于 2008-1-29 09:38:50 | 显示全部楼层
好,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 09:26 , Processed in 0.038257 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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