起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 142|回复: 3

【结贴】关于流程轨迹的问题,比较怪异**

[复制链接]
发表于 2008-8-11 11:56:04 | 显示全部楼层 |阅读模式
版本3042,流程轨迹问题,我把绑定流程轨迹的代码贴出来,比较灵异,请大家帮我看看。

//声明变量和方法。
private
  function GetFlow: TFlow;
  function GetFlowGuid: String;
public
    property FlowGuid: String read GetFlowGuid;
    property Flow: TFlow read GetFlow;


function TCK.GetFlowGuid: String;
var
  lID: String;
  lurl: String;
  urlS: String;
begin
  lID :=DefaultInfo.Info.DataSetByID('WJSPXX').FieldByName('GUID').AsString ;
  lurl:='Biz:\MGOASYS\LCY.Proc';//此处为对应流程BIZURL
  urlS:= urlList.Values[lurl];
  if lID = '' then
    exit;
  Result := TFLOWMONITORINFO.GetFlowGuid(urlS, lID);
end;


function TCK.GetFlow: TFlow;
begin
  Result := TFLOWMONITORINFO.GetFlow(FlowGuid);
end;


//在页签的ONSHOW事件里调用代码。
procedure TCK.TabSheet4Show(Sender: TObject);
var
myFlow:String;
begin
  myFlow := FlowGuid;
  Inherited;
  if myFlow = '' then
  begin
    dvFlow.Visible := False;
    exit;
  end;
  dvFlow.Visible := True;
  TFLOWMONITORINFO.RefreshFlowDoc(TFLOWMONITORINFO.GetFlow(myFlow), dvFlow);
end;


打开这个功能以后,在点流程轨迹页签之前,如果做了其他任何操作,比如修改数据,选中一条记录之类的,然后再点流程轨迹的页签,
就只显示一句话
DocView打开文档失败,错误原因:Cannot focus a disabled or invisible window
但是如果我打开功能以后直接点流程轨迹的页签,就完全没有问题.

我试过几种修改方法,比如在代码里加dvFlow.SetFocus,但是不起作用,还有一种起作用的方法是
我在代码里加一个弹出提示框语句,比如jsDialogs.ShowMsg('asdfasdf', ''); ,这样运行起来弹一次就能
显示出流程轨迹.不过.这个只能是权宜的办法.没有解决根本问题,谁能告诉我这是哪得问题?
回复

使用道具 举报

发表于 2008-8-11 14:00:07 | 显示全部楼层
试试用

  docview1.doc.close;
//你的操作代码。。。。
   docview1.OpenView(TDocMode.dmEdit);
刷新下docview。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-11 14:23:02 | 显示全部楼层
恩恩,谢谢谢谢.就这个就行,解决了,困扰了我6个月的问题。。。。可以结了
回复 支持 反对

使用道具 举报

发表于 2008-8-11 14:24:01 | 显示全部楼层
结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-20 15:00 , Processed in 0.045351 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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