起步软件技术论坛-X3

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

flowbroker控件提交时由于主题中包含单引号报错**

[复制链接]
发表于 2008-11-7 19:05:13 | 显示全部楼层 |阅读模式
flowbroker控件中的subject主题包含用户输入的一个字段,这个字段从业务上来说是可以输入单引号的,结果执行到flowbroker.FlowControl.FlowOut(nil)方法的时候就报附件图片中的错误,错误主要描述对流程名称赋值出错。
以上问题是第三方评测公司测试时候发现的问题,需要整改,但我们不知道要如何修改,还请反馈意见,谢谢!

flowbrokererror.jpg

86.27 KB, 下载次数: 95

回复

使用道具 举报

发表于 2008-11-8 11:39:21 | 显示全部楼层
把你的完整代码贴出来看看。
还有检查一下表达式是否写的有问题?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-10 11:19:53 | 显示全部楼层
完整的代码不需要了,之前赋值流程的名称的语句是:
FflowSubject :="发生在["+dsbcjxx.dataset..fieldbyname('FADD').displaytext+"]'
表达式肯定没有问题,因为如果发案地址中间没有包括单引号是没有问题的。
回复 支持 反对

使用道具 举报

发表于 2008-11-10 14:00:27 | 显示全部楼层
FflowSubject :="发生在["+dsbcjxx.dataset..fieldbyname('FADD').displaytext+"]'
那就是应该这里写的不对了。
FflowSubject :='发生在['+dsbcjxx.dataset.fieldbyname('FADD').displaytext+']'
这样看看。
回复 支持 反对

使用道具 举报

发表于 2008-11-10 14:01:58 | 显示全部楼层
从错误信息看,感觉应该是代码的问题,你可以跟踪看看是啥,
顺便说一下
"发生在["+dsbcjxx.dataset..fieldbyname('FADD').displaytext+"]'
这个表达式是有问题吧,引号里面两个引号表示一个单引号,你再看看呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-10 14:41:23 | 显示全部楼层
抱歉,是写问题的时候写错了,程序代码里面写的就是'发生在['+dsbcjxx.dataset.fieldbyname('FADD').displaytext+']'。
想再重申一下,肯定不是代码的问题,因为只有FADD字段内容包含单引号就肯定报错,跟踪的时候就到flowbroker.FlowControl.FlowOut(nil)方法就报图片错误,无法再跟踪了。
你们可以做一个最简单的测试,只要流程标题中包含一个单引号,流程提交必然报错。
回复 支持 反对

使用道具 举报

发表于 2008-11-10 15:01:55 | 显示全部楼层
楼主,请描述一下对subject赋值的方法。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-10 15:43:08 | 显示全部楼层
FFlowMsgSubject := '发生在 ' + dsbJJXX.DataSet.FieldByName('FADD').DisplayText + ' 的案件'
      with FlowBroker.FlowControl.Proc.FlowStartupRules.Items[0].FlowValuesFillDef do
      begin
        DisplayNameAssignMode := TFlowValueAssignMode.fvmSpecify;
        DisplayNameExpression.Text :=
          #39 + '[' + FFlowMsgSubject + ']的[' + FlowBroker.FlowControl.Proc.DisplayName + ']' + #39;
      end;
   if FlowBroker.FlowControl.FlowOut(nil) then  //这句报错
回复 支持 反对

使用道具 举报

发表于 2008-11-10 19:54:14 | 显示全部楼层
楼主的赋值用到了系统的表达式,在解析表达式时,'被作为特殊字符处理了。所以报错。建议:
1、直接对'做特殊处理,如:用两个''来做转义
2、或者,换一种流程主题的赋值方式,如:流程启动后,直接修改流程对象的subject
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 17:03 , Processed in 0.043516 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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