加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何检查DWScript FileCreate函数的返回值?

发布时间:2020-12-15 04:20:28 所属栏目:大数据 来源:网络整理
导读:使用DWScript,我没有看到检查FileCreate函数返回值的明显方法. 示例(不工作)脚本: function TestFileCreate : Boolean;var F : File;begin F := FileCreate('MyTestFile.txt'); Result := (F = -1); // Not working! Result := (F.Handle = -1); // Not wor
使用DWScript,我没有看到检查FileCreate函数返回值的明显方法.

示例(不工作)脚本:

function TestFileCreate : Boolean;
var
    F : File;
begin
    F := FileCreate('MyTestFile.txt');
    Result := (F = -1);        // Not working!
    Result := (F.Handle = -1); // Not working!
end;

从DWScript源代码中提取:

procedure TFileCreateFunc.DoEvalAsVariant(const args : TExprBaseListExec; var result : Variant);
var
   h : THandle;
   i : IdwsFileHandle;
begin
   h:=FileCreate(args.AsFileName[0]);
   i:=TdwsFileHandle.Create(h);
   Result:=IUnknown(i);
end;

如您所见,在内部调用Delphi CreateFile,失败时结果值为-1.此数值将转换为IdwsFileHandle.

解决方法

它们的目的是在发生故障时提出异常.这已经固定了!

扩展,以便现在仅在使用无效文件的情况下触发异常,但两个函数除外:FileIsValid和FileClose.还添加了帮助程序,以便可以像方法一样使用文件函数(即“FileIsValid(f)”也可以写为“f.IsValid”)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读