W
cppnewbe schrieb:
- Ein Programm (in VB geschrieben) liefert Messwerte sekundenweise. Die Daten kann ich auf Shared Memory ablegen und durch neue Anwendung ebenda ablesen, d.h. Schnittstelle no problem.
.. als 'no problem' würde ich das nicht bezeichnen. Woher weiß der lesende Prozess, dass ein neuer Wert da liegt und woher weiß der schreibende Prozess, dass der Wert gelesen wurde und aktualisiert weden kann. Dazu benötigst Du eine Synchronisierung des ganzen und ein globales Mutex um die einzelnen Zugriffe atomar zu gestalten. Sonst läufst Du Gefahr in 'racing conditions' rein zulaufen.
cppnewbe schrieb:
- Zu jedem Messwert soll man 30 andere Nebenwerte ermitteln. Dies möchte ich in einer neuen EXE-Andwendung mit OOP erledigen, wenn es mit DLL nicht geht.
OOP und DLL sind gänzlich unabhängig von einander. Du kannst beides machen oder nicht machen, das eine hat mit dem anderen nichts zu tun.
cppnewbe schrieb:
Die Eigenschaften der Nebenwerte fasse ich in einer Class zusammen und erzeuge 30 Instanzen davon. Diese unterscheiden sich von Parametern.
Du solltest vielleicht mal 2 oder 3 Beispiele nennen, was Da in den 30 Instanzen passiert. Ich habe immer noch Schwierigkeiten mir Deine Anforderungen vorzustellen.
cppnewbe schrieb:
2. Für jede Instanz erzeuge ich einen Worker-Thread. Jeder Worker-Thread soll bis Programmende bleiben und immer auf Event (TextChanged) reagieren.
Für einen oder gar 30 Threads sehe ich nach wie vor keinen Grund.
Eine Lösung, die mir vorschwebt, ist das was man auch unter 'Chain of Responsibilty' bezeichnet. In Deinem Fall könnte man es vielleicht so realisieren, dass die Funktion, die den Messwert entgegen nimmt, einfach alle 30 Nebenwert-ermittelnde-Objekte nacheinander aufruft und jedes Objekt weiß dann für sich was mit dem Messwert zu tun ist.
Gruß
Werner