Revision 2 of 3, by WikiArchive on 11-4-2026. The page as it is now.
As
The operator as performs a conditional typecast. The word as is a reserved word in {$mode Delphi} and {$mode objFPC}.
operation
as requires a class or (COM) interface as the first argument and a class or interface reference as the second. The expression child as super is equivalent to the expression and statement:
super(child)
if not assigned(child) and_then not child is super then
begin
raise exception.create(sErrInvalidTypecast);
end;Warning: Typecasting a nil pointer will not raise an exception.
However, trying to de-reference nil by attempting to access an attribute or method will cause a RTE.
application
as ensures a typecast is legit.
as is one of the operators that can not be overloaded.
see also
From the Free Pascal wiki, page "As", as the Internet Archive kept it on 2024-03-04. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
