[Lazarus] Redundant assigned(X) and (X is Txxx) in Laz. sources
Dennis
dec12 at avidsoft.com.hk
Sat Jan 13 06:01:33 CET 2018
Mattias Gaertner via Lazarus wrote:
> On Fri, 12 Jan 2018 21:44:47 +0200
> Juha Manninen via Lazarus <lazarus at lists.lazarus-ide.org> wrote:
>
>> On Fri, Jan 12, 2018 at 8:38 PM, Vojtěch Čihák via Lazarus
>> <lazarus at lists.lazarus-ide.org> wrote:
>>> I wrote a small routine to search Lazarus sources and it found about 60
>>> places similar to this (taborderdlg.pas, line 398):
>>>
>>> if Assigned(LookupRoot) and (LookupRoot is TWinControl) then begin
>>>
>>> Should I make a patch for all occurences?
>> Yes, I think the patch would be applied.
>> IIRC "is" was not allowed with Nil references in old FPC versions but
>> it was a long time ago.
> No, "is" was always checking for nil.
> Maybe some people are confused by "as", which does not check for nil.
>
> Mattias
I am now confused, so
in FPC, it is safe to just use: if LookupRoot is TWinControl
instead of
if assigned(LookupRoot) and (LookupRoot is TWinControl) then ....
is it safe to
with LookupRoot as TWinControl do begin
....
end;
or should I always
if assigned(LookupRoot) then
with LookupRoot as TWinControl do begin
....
end;
Dennis
More information about the Lazarus
mailing list