4
votes
Vote UpVote

Beware using anonymous methods in loops

TURBU Tech – Quick, what’s the output of this simple routine? procedure AnonLoop; var   i: integer;   proc: TProc;   ProcList: TList<TProc>; begin   ProcList := TList<TProc>.Create;   for i := 1 to 5 do     ProcList.Add(       procedure()       begin         write(i, ' ');       end);   for proc in ProcList do     proc;   procList.Free; end; Intuitively, you’d think it would write “1 2 3 4 5″, but you’d be wrong.  It ...
Favorite? Off-Topic? Mason Wheeler @ 2010-11-22 04:15

Statistics

Visits: 766
Votes: 4
Favorites: 0
Off-Topic: 0

Visits by Source

User Actions

Users who voted for this posting

Alister Christie
Charles Ardour
Mohammed Nasman
Zzzzz
Subscribe:
Contact us to advertise on DelphiFeeds.com

Community Links

Torry Firebird News

Sponsor

 
Please login or register to use this functionality.
(click on this box to dismiss)