Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: TADODataSet -> Enthält nur ein Datensatz

  Alt 30. Nov 2007, 15:52
Na ich weiss nicht, ob deine Lösung so toll ist.
Delphi-Quellcode:
cMyADOConnection = class(TObject)
private
        ...
        var DataSet: TADODataSet; // ***
        ...
public
        ...
        function get_DataSet(): TADODataSet;
        ...
end;
Es sollte klar sein, dass mit obigem Code nur ein einziges Dataset möglich ist.
Die Variable (markiert mit ***) muss weg und get_DataSet() sieht im Prinzip so aus:
Delphi-Quellcode:
function cMyADOConnection.get_DataSet(): TADODataSet;
begin
   result := TADODataSet.Create(nil);
   result.Connection := ...
end;
So wird bei jedem Aufruf ein neues Dataset erzeugt.
Aber Vorsicht, der Aufrufen muss das Objekt freigeben, sonst Speicherleck.
Besser wäre:
Delphi-Quellcode:
cMyADOConnection = class(TObject)
private
        ...
public
        ...
        // der Aufrufer muss das Dataset bereitstellen und auch freigeben
        procedure Setup_DataSet(ds:TADODataSet);
end;
Andreas
  Mit Zitat antworten Zitat