Ich würde mich insbesondere über dieses Konstrukt in Delphi freuen:
with Stringlist := TStringlist.Create() do
Wo ist da der Sinn? Du weist einer Variablen eine neue Instanz zu, brauchst die Variable aber im Anschluss eigentlich gar nicht mehr, weil Du durch das With ja direkt auf die Properties und Methoden zugreifen kannst.
with TStringlist.Create do
geht ja bereits (auch wenn das nicht ganz ungefährlich ist).