起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 177|回复: 5

【结贴】文件关联--文件创建操作的问题?**

[复制链接]
发表于 2008-2-20 10:33:04 | 显示全部楼层 |阅读模式
if not FileSys.FileSystem.FileExists(TRTLConsts.DocRoot) then  //TRTLConsts在协同常量库
  try
    FileSys.FileSystem.CreateFile(TRTLConsts.DocRoot, cGUID, [], TFileKind.fkSpace, TRTLConsts.DocDisplayName);
  except
FileSys.FileSystem.FileExists :是判断操作系统中是否有这个文件吗?还是判断表中是否有记录?
FileSys.FileSystem.CreateFile  是在操作系统中创建文件,同时在表中记录所创建的文件的信息吗?
回复

使用道具 举报

 楼主| 发表于 2008-2-20 10:33:53 | 显示全部楼层
procedure TRELEVANCYDOC.EnsureRoot;
const
  cGUID = '4B666B997C49446688B339B6D944AA5B';
begin
  if not FileSys.FileSystem.FileExists(TRTLConsts.DocRoot) then  //TRTLConsts在协同常量库
  try
    FileSys.FileSystem.CreateFile(TRTLConsts.DocRoot, cGUID, [], TFileKind.fkSpace, TRTLConsts.DocDisplayName);
  except
    on E: TObject do
      raise Exception.CreateFmt('知识中心基础数据错误,初始化失败。'#13#10 + '错误原因:%s', [jsCommon.ExceptText(E)]);
    else
      raise;
  end;
end;

这段代码执行时候,产生很多的错误
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-20 10:35:25 | 显示全部楼层

2

2

1.jpg

24.63 KB, 下载次数: 118

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-20 10:36:04 | 显示全部楼层
并且,FileSys.FileSystem.FileExists(TRTLConsts.DocRoot ) 老是 fasle
回复 支持 反对

使用道具 举报

发表于 2008-2-20 11:08:58 | 显示全部楼层
为false就说明根节点已经存在了,这个代码只执行一次就可以了,
如果想重新创建,就把tdocsystem表和Tdocattribute表清空在执行这段代码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-20 13:56:56 | 显示全部楼层
奥,好
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-7 02:23 , Processed in 0.042161 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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