可以参看待办任务工作台跳转任务中心的代码
务模型\协同系统\任务\任务中心信息\任务导航(基类)
procedure TTaskNav.actViewDetailExecute(Sender: TObject);
begin
TSystemCore.FuncManager.RunFunc(Context, '', 'Biz:\COLLABORATION\MyTaskFunc.Func',
SysUtils.Format('-vvmTaskDetail -f%s -l%s', [FilterTypeStr, TaskDataSet.FieldByName('FGUID').AsString]), False, nil, False);
end;
运行一个功能,传入参数,其中包括定位记录的各种信息
业务模型\协同系统\任务\我的任务\主窗体
procedure TMAINFORM.ParserRunParams(out ViewMode, FilterType, FilterDesc, LocateID: string);
var
lParser: TCommandLineParser;
lOption: TCommandLineOptionDefine;
begin
lParser := TCommandLineParser.Create(nil);
try
lOption := lParser.OptionDefines.Add;
lOption.Name := '-v';
lOption.HasValue := True;
lOption.DisplayName := '显示模式';
lOption := lParser.OptionDefines.Add;
lOption.Name := '-f';
lOption.HasValue := True;
lOption.DisplayName := '过滤选项';
lOption := lParser.OptionDefines.Add;
lOption.Name := '-d';
lOption.HasValue := True;
lOption.DisplayName := '过滤选项描述信息';
lOption := lParser.OptionDefines.Add;
lOption.Name := '-l';
lOption.HasValue := True;
lOption.DisplayName := '定位记录';
lParser.Parse(FuncBroker.Func.Parameters);
ViewMode := lParser.GetOption('-v').Value.Value;
FilterType := lParser.GetOption('-f').Value.Value;
FilterDesc := lParser.GetOption('-d').Value.Value;
LocateID := lParser.GetOption('-l').Value.Value;
finally
lParser.Free;
end;
end;
解析参数,让功能做处理 |