Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#15

AW: Objekt als Rückgabe von Funktion - Wie elegant Freigabe regeln?

  Alt 24. Aug 2013, 21:45
Eigentlich ist es doch recht einfach:
man benötigt mehrere Instanzen des Data-Transfer-Objects.
Eine Instanz bleibt immer beim Threadobjekt; es wird im Konstruktor erzeugt und im Destruktor freigegeben.
(es ist ein Aggregatobjekt)
Weitere Instanzen leben ausserhalb des Threads und werden bei Bedarf erzeugt und wieder zerstört.
Mit der Methode Assign werden die Daten zwischen den Objekten kopiert.

Ablauf:
* lokales Data-Transfer-Objekt erzeugen
* besagte Funktion aufrufen (mit dem Objekt als Parameter) das das Objekt befüllt
* Threadobjekt erzeugen
* lokales Data-Transfer-Objekt auf das interne Data-Transfer-Objekt des Thread kopieren
* lokales Data-Transfer-Objekt freigeben
* Thread starten

Kein Stress mit Interfaces, keine Tricks, keine Unsicherheiten wer jetzt für das Objekt zuständig ist (also wer der Owner ist).
fork me on Github
  Mit Zitat antworten Zitat