起步软件技术论坛-X3

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

【结帖】如何用代码关闭功能**

[复制链接]
 楼主| 发表于 2008-1-11 13:32:47 | 显示全部楼层
不是啊,我做的那个功能没有窗体。。。。你看怎么办
回复 支持 反对

使用道具 举报

发表于 2008-1-11 13:43:56 | 显示全部楼层
那可以这样
var
  lFunc: TFunc;
begin
  lFunc := CurrentFunc;
  if lFunc <> nil then
    TSystemCore.FuncManager.TerminateFunc(lFunc, False);
end;
回复 支持 反对

使用道具 举报

发表于 2008-1-11 13:45:30 | 显示全部楼层
id不对,不是那个
RuncFunc里那个AUniqueID参数,默认有个规则好象
AUniqueID:创建功能时的唯一标识,首先在环境下按照UniqueID寻找这个功能是否已经创建,如果已经存在就激活功能页,如果不存在就创建一个功能实例。如果UniqueID为空,则UniqueID的取值规则为:
       AFuncURL + '||' + AParams + '||' + ADeptID + '||' + APositionID + '||' + APersonID;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-11 13:59:17 | 显示全部楼层
lFunc := CurrentFunc 说这个无法 识别 是不是要引入什么?
回复 支持 反对

使用道具 举报

发表于 2008-1-11 14:07:36 | 显示全部楼层
楼主,目前的版本先请参考
业务模型\系统空间\简洁风格\界面库\窗体库\标准风格主窗体中的
procedure TSTANDARDSTYLEMAINFORM.UIRunFunc(AContext: TContext; const AUniqueID, AFuncURL, AParams: string; UseUI: Boolean; BeforeRunFunc: TFuncNotifyEvent; Modal: Boolean);
var
  lContext: TContext;
  S, lUID: string;
  lFunc: TFunc;
begin
  lUID := AUniqueID;
  if lUID = '' then
  begin
    // 暂时一个功能只能运行一份实例, 不同参数的功能,允许多份实例
    lUID := AFuncURL + '.MainForm.Run' + '|' + AParams;
  end;

  lFunc := TSystemCore.FuncManager.FindRunning(lUID);
  if lFunc <> nil then
  begin
    TSystemCore.FuncManager.ActivateFunc(lFunc);
    Exit;
  end;


目前程序里调用的话,参考
var
  lFunc: TFunc;
begin
  lFunc := SystemCore.TSystemCore.FuncManager.FindRunning('FUNCURL'+ '.MainForm.Run' + '|' +'');
  if lFunc <> nil then
    SystemCore.TSystemCore.FuncManager.TerminateFunc(lFunc,false);
具体看楼主自己的代码处理了
回复 支持 反对

使用道具 举报

发表于 2008-1-11 14:09:07 | 显示全部楼层
不过3000版本将不采用这种方式,将采用下面的方式:
业务模型\系统空间\系统运行库\系统核心库
static function TFuncManager.GetFuncUniqueID(const AFuncURL, AParams, ADeptID, APositionID, APersonID: string): string;
begin
  Result := AFuncURL + '||' + AParams + '||' + ADeptID + '||' + APositionID + '||' + APersonID;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-11 14:20:40 | 显示全部楼层
关一个功能这么费尽啊。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-11 14:23:21 | 显示全部楼层
15楼的啥意思? 12楼的代码能用么?
回复 支持 反对

使用道具 举报

发表于 2008-1-11 14:24:23 | 显示全部楼层
看15楼最后的参考代码,一个功能关闭另外一个功能(当然了,包括自己关闭自己)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-11 14:28:58 | 显示全部楼层
15楼的代码有个 ‘哭’的表情。。。那是什么代码 把那个关闭的再发一下
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 16:33 , Processed in 0.038889 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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