Forum: Object-Pascal / Delphi-Language
by DeddyH,
14. Sep 2014
Du weißt nicht, wie man so eine Variable benennen sollte und sprichst dann von unleserlichem Code? Und wie schon angedeutet: nicht jede Klasse, die ein Interface implementiert, ist auch automatisch referenzgezählt. Gut, wenn das ausschließlich eigene Klassen sind, kann man dafür sorgen, aber sind sie das immer? Im Übrigen: wenn man einen try-finally-"Baum" im Code hat, macht die Methode...
Forum: Object-Pascal / Delphi-Language
by DeddyH,
14. Sep 2014
Stimmt, aber wenn die Implementationen von TInterfacedPersistent abstammen, ist der gezeigte Code wieder für's Gesäß. Außerdem finde ich es fragwürdig, Interfaces als Ersatz für Garbage Collection zu benutzen.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
12. Sep 2014
Wenn es nur 2 Blöcke sind, mache ich das schon. Sollten es mehr sein, tut die Methode wahrscheinlich sowieso schon zu viel, ist also ein Fall für die Auslagerung ;)
Forum: Object-Pascal / Delphi-Language
by DeddyH,
12. Sep 2014
Und damit es auch komplett hier steht, die Alternative:
procedure fooNsafe;
var
bar1 : TBar1;
bar2 : TBar2;
begin
//Verschachteln der Ressourcenschutzblöcke
bar1 := TBar1.Create;
try
bar2 := TBar2.Create;
Forum: Object-Pascal / Delphi-Language
by DeddyH,
12. Sep 2014
Hier habe ich neulich einmal ein paar Beispiele skizziert: http://forum.delphi-treff.de/index.php/Thread/59552-try-finally-end-verschachteln
Forum: Object-Pascal / Delphi-Language
by DeddyH,
11. Sep 2014
BTW: 4 Instanzierungen vor dem try sind gewagt, das kann zu Speicherlecks führen.