我看到这个代码在这里贴在计算器上:使用嵌套“尝试/终于”“尝试/除”报表
with TDownloadURL.Create(nil) do
try
URL := 'myurltodownload.com';
filename := 'locationtosaveto';
try
ExecuteTarget(nil);
except
result := false;
end;
if not FileExists(filename) then
result := false;
finally
free;
end;
不能将其简化为如下所示:
Result:= FALSE; <--------- Compiler complains
DeleteFile(Dest);
dl:= TDownloadURL.Create(NIL);
TRY
dl.URL:= URL;
dl.FileName:= Dest;
dl.ExecuteTarget(NIL);
Result:= FileExists(Dest);
FINALLY
dl.Free;
END;
最终结果:如果'ExecuteTarget'中出现错误,将永远不会执行,因为程序将直接跳转到'finally'。对?所以,该函数将返回FALSE。难道我做错了什么?
PS:
- 我打算在一个线程中使用此代码。
- 我只是把这个函数放在Delphi和编译器有关第一行的抱怨上:“从未使用过的值”。
哪里是在第一个代码的结果的启动?结果=真? – garik 2010-08-19 22:26:36
@igon:我不知道。可能只是演示/骨架代码。 – Ampere 2010-08-19 22:34:24