Anonymous methods
Anonymous methods lets you write methods within other methods that do not have a name.
  TDemoAnonMethod = reference to function (n: Integer) : integer;
procedure DisplayModifiedValue(n : integer; AnonMethod: TDemoAnonMethod);
procedure TForm1.Button1Click(Sender: TObject);
  DisplayModifiedValue(5, function (n : integer) : integer
                           Result := n * n;
                      ); // displays 25
Further examples
John Kaster (Emb.) uses anonymous methods to extend the functionality of TField.
Barry Kelly (Emb.) discusses using anonymous methods instead of "out" parameters.
Lars Fosdal discusses using anonymous methods for Lambda expressions, isolation glue and for threads.
Craig Stuntz (TeamB) uses anonymous methods to solve a mathematical problem.
A StackOverflow discussion on ways to use anonymous methods.
Nick Hodges implements the Inversion of Control design pattern using anonymous methods.
Further reading
Closures and functional programming
Joel Spolsky introduces the concepts behind anonymous methods or closures.
Pawel Glowacki (Emb.) responds to the Joel Spolsky closures article.
The case against anonymous methods
Jolyon Smith presents his views on why anonymous methods are unnecessary.
A spanish blogger presents his reasons against anonymous methods (in English)
Introductory Tutorials
Comprehensive Tutorials
Traps to look out for
Mason Wheeler talks about a gotcha when using anonymous methods within loops.
Allen Bauer (Emb.) further refines his anonymous methods and generics threading example and
Implementation analysis
Detailed analysis of how anonymous methods are implemented by the Delphi compiler.
Barry Kelly (Emb.) wrote back in 2006 on how anonymous methods could be implemented in the Delphi compiler.
Chee Wee has a quick summary of how anonymous methods are implemented by the Delphi compiler.
Advanced Techniques
Barry Kelly (Emb.) has a example of using anonymous methods and generics to write an enumerator.
Barry Kelly (Emb.) discusses storing references to anonymous methods inside method pointers.
Multi-threaded applications
Allen uses anonymous methods in conjunction with generics and the TMonitor record.
David Clegg describes how he uses generics and anonymous methods to create threads that will return a result of some kind and notify the calling thread of it's progress as it goes.