gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:54:26 25 4
gpt4 key购买 nike

使用 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”)

关于delphi - 如何检查DWScript FileCreate函数的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35156678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com