I need a clarification of this case.
According my tests the Result variable is defined to:
Boolean=False, Integer=0, String=”, Object=nil etc from the first line.
But I have never seen an official reference for this.
It also make sense as this gives the hint.
[DCC Warning] Unit1.pas(35): H2077 Value assigned to ‘TForm1.Test’ never used
function TForm1.Test: Boolean;
begin
Result := False;
// Some arbitrary code here
Result := True;
end;
But what happens if I comment out the first line and there is an exception somewhere before last line? Is Result = False ?
If Result is undefined this means that I always have to start every function by defining Result in case of exception later. And this make no sense for me.
No,
Resulthas no (guaranteed) default value. It is undefined unless you give it a value. This is implied by the documentation, which statesI just tried
and got a message with the text
35531136.