I have seen this code posted here on StackOverflow:
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;
Can't it be simplified to look like:
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;
The final Result:= ... will never be executed if something went wrong in 'ExecuteTarget' because the program will jump directly to 'finally'. Right? So, the function will return FALSE. Am I doing something wrong?
PS:
- I intend to use this code in a thread.
- I just put the function in Delphi and the compiler complains about the first line: "Value assigned never used."