起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 57|回复: 2

【搞定】RecoverFromRecycleBin如何使用?[请求]**

[复制链接]
发表于 2007-6-21 11:10:04 | 显示全部楼层 |阅读模式
NameSpace: Business.Model.Org    ClassDelcare: Business.Model.Org.TOrgSystem
--------------------------------------------------------------------------------
procedure RecoverFromRecycleBin(AOrgURLs: TOrgURLs);

的怎么用呀,请各位指教,谢先。
回复

使用道具 举报

发表于 2007-6-21 14:28:20 | 显示全部楼层
请参考 系统空间\系统功能\组织机构\组织机构资源库\禁用的组织机构
procedure TNOUSINGORGS.actRestoreExecute(Sender: TObject);
var
  I: Integer;
  lRecovered: Boolean;
  lDeleteIndex, lOrgURLs: TStringList;
  lOrgUnit: TOrgUnit;
  lDelOrgURLs: TOrgURLs;
  lURL: TBizURL;
begin
  Cursor := Business.Forms.Controls.crHourGlass;
  lDeleteIndex := TStringList.Create;
  lDelOrgURLs := TOrgURLs.Create;
  lOrgURLs := TStringList.Create;
  lURL := TBizURL.Create;
  try
    lRecovered := False;
    for I := 0 to lvRecycleBin.Items.Count - 1 do
    begin
      if lvRecycleBin.Items[I].Selected then
      begin
        lOrgUnit := TOrgUnit(lvRecycleBin.Items[I].Data);
        lURL.FileName := StrUtils.AnsiReplaceText(lOrgUnit.BizURL.FileName, '\~\', '');
        if not Assigned(Org.OrgSys.OrgSystem.FindUnit(lURL)) then
          lDelOrgURLs.Add(lOrgUnit.BizURL);
        lURL.FileName := Sysutils.ExtractFileDir(StrUtils.AnsiReplaceText(lOrgUnit.BizURL.FileName, '\~\', ''));
        if not Assigned(Org.OrgSys.Orgsystem.FindUnit(lURL)) then
        begin
          jsDialogs.ShowError('被恢复的组构单元的父单元不存在或已被禁用!', '不能恢复');
          Exit;
        end;
        lOrgURLs.Add(lURL.FileName);
        lDeleteIndex.Add(SysUtils.IntToStr(I));
        lRecovered := True;
        FModified := True;
      end;
    end;
    if lRecovered then
    begin
      Org.OrgSys.OrgSystem.RecoverFromRecycleBin(lDelOrgURLs);
      for I := lDeleteIndex.Count - 1 downto 0 do
      begin
        lvRecycleBin.Items.Delete(SysUtils.StrToInt(lDeleteIndex[I]));
        FileSys.FileSystem.Refresh(lOrgURLs[I], False);
      end;
      TCommonFunc.OrgChanged;
    end;
  finally
    lURL.Free;
    lOrgURLs.Free;
    lDelOrgURLs.Free;
    lDeleteIndex.Free;
    Cursor := Business.Forms.Controls.crDefault;
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-21 15:14:53 | 显示全部楼层
好的,谢谢,可以结贴了
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-12 00:00 , Processed in 0.050219 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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