AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wichtigkeit von Try...Finally...End

Ein Thema von sir-archimedes · begonnen am 19. Jan 2006 · letzter Beitrag vom 20. Jan 2006
Antwort Antwort
Seite 2 von 2     12   
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#11

Re: Wichtigkeit von Try...Finally...End

  Alt 20. Jan 2006, 00:11
Zitat von dominik.boehm:
Zitat von Elvis:
Könnte auch ein Argument sein, Factories (wie getAdoDataSet) Interface instanzen zurückgeben zu lassen. Dadurch kümmert sich der Compiler um Try-finally und man spart sich Tipperei.
Ich gebe dir Recht - das wäre ein guter Ort, um Interfaces einzusetzen. Allerdings müsste ich dann ja nicht nur ein Interface erstellen, sondern auch noch eine von ADODataSet abgeleitete Klasse, die dann auch das Interface implementiert.
Nicht unbedingt.
Falls du DataSets hauptsächlich zum einmaligen Iterieren nimmst, würde ein minimalister Wrapper reichen (Und dich von dem ekligen Eof/Next entlasten...):
Delphi-Quellcode:
IDataReader = interface
   function getRecordCount : Integer;
   function getFields : TFields;

   property RecordCount : Integer read getRecordCount;
   property Fields : TFields read getFields;

   function Read : Boolean;
   procedure Close;
end;
Keine try-finally, kein Parametergefriemel und kein nerviges Eof->Next mehr:
Delphi-Quellcode:
reader := AdoReaderFactory.CreateReader('SELECT X FROM Y WHERE Z = :Z', [50]);

while reader.Read() do
   ListBox.Items.Add(reader.Fields[0].AsString);
ADO selbst besteht als COM Lib ja auch aus Interfaces, ich hatte nur keine Lust mich da durchzuwühlen (habe mich eigentlich nie wirklich mit ADO befasst...)
Angehängte Dateien
Dateityp: zip adofactory_131.zip (1,7 KB, 6x aufgerufen)
Robert Giesecke
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz