Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Zacherl,
25. Aug 2013
Der Copy Ansatz ist ja in etwa ähnlich zu Methode "2" aus meinem ersten Post. Nur dass ich die Daten in meiner Proxy Klasse nur "on demand" (sobald von außen jemand lesen will) kopieren würde und nicht bei jeder Aktualisierung (der Thread kann durchaus mehrere 1000 Aktualisierungen pro Sekunde und in verschiedenen Tasks erzeugen, da die Tasks nicht strikt nacheinander, sondern jeweils in kleinen...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Zacherl,
24. Aug 2013
Das ist jetzt bei mir nicht so das Problem, da die Objektinstanz ja sowieso innerhalb meiner Factory Funktion erzeugt wird. Als Rückgabetyp würde ich dann direkt das Interface angeben.
Probleme gibt es nur, wenn der Anwender auf die Idee kommt: "Hey, ich caste das Interface jetzt mal ganz schnell in die konkrete Klasse und speicher' mir das ganze in einer TList". In diesem Falle wird der...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Zacherl,
24. Aug 2013
Das ist alles leider nicht optimal. Ich versuche mal mein Problem etwas detaillierter darzustellen:
Ich habe einen Thread, welcher permanent von Programmstart bis zum Programmende läuft. Der Thread wartet im Hintergrund darauf, bis er einen oder mehrere Tasks zugewiesen bekommt und arbeitet diese dann ab. Die Tasks habe ich in einer Klasse gekapselt, welche einige Attribute wie z.b. den Progress...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Zacherl,
23. Aug 2013
In meinem Falle schon, da das Objekt innerhalb eines Threads verarbeitet wird. Ich kann die Instanz also nicht direkt nach Funktionsaufruf wieder freigeben.
Dann werde ich es mal mit der Interface Methode probieren. Dachte mir schon, dass dies die einfachste Lösung ist.
Danke an alle!
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Zacherl,
22. Aug 2013
Hallo zusammen,
ich habe eine Funktion, welche ein Objekt erstellt, welches im weiteren Verlauf für eine unbestimmte Zeit innerhalb eines zweiten Threads verwendet wird. Die Funktion liefert das Objekt zusätzlich als Rückgabewert an den aufrufenden Benutzer zurück, damit dieser bestimmte Informationen (die der Thread setzt) mitverfolgen und auch per Methodenaufruf z.B. die Verarbeitung...