起步软件技术论坛-X3

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

【结贴】用 ocx直接运行一个功能**

[复制链接]
 楼主| 发表于 2009-4-27 15:07:38 | 显示全部楼层
lContextCurrent := TContextCurrent.Create(Context);  在SetParamValue中不会报错,
但是这句话写在getparamvalue中,我38楼的那个函数中,就报错。我就把它该成了
lContextCurrent := TContextCurrent.Create(nil); 就不报语法错误了,这两句话有什么区别?我这样写,行吗?
回复 支持 反对

使用道具 举报

发表于 2009-4-27 15:10:01 | 显示全部楼层
TContextCurrent.Create(BizSys.GlobalContext)这样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-27 16:09:41 | 显示全部楼层
我按照29楼的方法做了一遍,
1.这种网页登录方式不可以单步调试吧?
2,我设了个断点,初始化运行,发现lfuncURLS[0]的值为:biz:\COLLABORATION\AUTOMAKEREMINDERTASK.FUNC,显而易见,lfuncURLS里面还包含系统的功能呢,我的代码这样写:
procedure TOperatorFuncNavBar.LoadFuncs;
var
  lFuncURLs: TStringList;
  lFuncItem: TOperatorFuncItem;
  I: Integer;
  YWKJID:string;
begin
  YWKJID:=GetParamValue('Biz:\SYSTEM\DICT\YWCSZ1.ParamGroup\YWKJID.Param');
  lFuncURLs := TStringList.Create;
  FAllocatedFuncs.BeginUpdate;
  try
    TContextUtils.GetAllocatedFuncs(FContext, lFuncURLs);

    FAllocatedFuncs.Clear;
    for I := 0 to lFuncURLs.Count - 1 do
    begin
    if stringutils.Pos(YWKJID,lFuncURLs)<>0 then
    begin
      lFuncItem := TOperatorFuncItem(lFuncURLs.Objects[I]);
      FAllocatedFuncs.Add(lFuncItem.FuncURL.FileName);
      end;
    end;
  finally
    FAllocatedFuncs.EndUpdate;
    lFuncURLs.Free;
  end;
end;
那么我用YWKJID的值,用pos方法,过滤lfuncURLs,
不是也会把系统的这些功能给过滤掉吗?
回复 支持 反对

使用道具 举报

发表于 2009-4-27 16:27:13 | 显示全部楼层
1.可以设置调试的时候使用ie浏览器,或者你可以再系统初始化的时候把那个参数先写死一个空间的url。
2.
if stringutils.Pos(YWKJID,lFuncURLs)<>0 then
    begin
      lFuncItem := TOperatorFuncItem(lFuncURLs.Objects[I]);
      FAllocatedFuncs.Add(lFuncItem.FuncURL.FileName);
      end;
这样以后他只会参数指定空间下的所有功能在业务功能树中显示出来,其他的不会。当然任务中心等功能也不会在业务功能树中显示出来了,如果需要就在做一下处理了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-27 16:37:21 | 显示全部楼层
谢谢,我继续试,
工具--->选项,中有个在浏览器中调试,就是用这个设置使用Ie浏览器调试吧
回复 支持 反对

使用道具 举报

发表于 2009-4-27 16:47:08 | 显示全部楼层
是的。你点击初始化运行就会启动一个ie
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-27 22:22:19 | 显示全部楼层
我做了一遍,也单步调试了,现在在组件库中可以正确得到,run方法中传过来的第二个参数,用44楼的代码跟踪下来,发现只有TXK业务空间下的功能执行了那两句,其他的功能都没有执行那两句。可问题是,最后在business上并没有显示出我的TXK业务空间下的功能,一个都没有显示。business上只有一个工作台和一个协同办公,并且在协同办公模块标签下没有任何东西,不知道怎么回事?
回复 支持 反对

使用道具 举报

发表于 2009-4-28 09:04:46 | 显示全部楼层
对,只会加载TXK业务空间下的功能,其他的空间下的空能不会加载到功能树上。

还有你在业务系统管理的配置中给这个空间单独分配了么?如果你没有单独让一个空间用功能树左边一个标签显示出来,并且协同平台中没有其它选项那么就不会有了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-28 09:54:52 | 显示全部楼层
初始化运行,用ie浏览器调试,那运行的时候,浏览器怎么知道使用我的business.jsp,还是business1.jsp呢,这个是怎么判断的呢?
回复 支持 反对

使用道具 举报

发表于 2009-4-28 10:08:07 | 显示全部楼层
这个应该既不是Business.jsp
它会自动创建一个start.html文件来运行。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-22 02:43 , Processed in 0.039684 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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