Forum: Programmieren allgemein
by JohannesK,
7. Jul 2015
Ja, alle timer kommen aus dem Hauptthread.
Forum: Programmieren allgemein
by JohannesK,
7. Jul 2015
Die Timer sind nach Ende der Definitionsfunktionen aktiv, das habe ich mit einer entsprechenden Rückmeldung überprüft, ich sehe drum in einer zusätzlichen Variablen keinen Vorteil. Ausserdem läuft das exakt gleiche Programm in D7
Forum: Programmieren allgemein
by JohannesK,
7. Jul 2015
Der Thread deshalb, damit sich verschiedene Gruppen beim Abspeichern nicht über die Timeraufrufe in die Quere kommen.
Ich bin zugegebnermassen nicht besonders Thread-sicher :), warum ist der Aufruf von execute gewagt (ist aber auch schon ein bisschen off-topic).
TSaveThread = class(TThread)
private
ExecGroup: TSavetimer;
protected
procedure execute; override;
...
Forum: Programmieren allgemein
by JohannesK,
7. Jul 2015
Die Timer werden eingeschaltet sobald die gesamten Gruppen ferig definiert sind damit nicht ein timer in eine unfertige Definition reinfunkt.
savetimer := TSavetimer.create(dm.uniconn, server.OPCGroups);
savetimer.Name := server.OPCGroups.Parent.Name + '_' + server.OPCGroups.Name;
savetimer.GroupNo := strtoint(rightstr(server.OPCGroups.Name, length(server.OPCGroups.Name)-2));
...
Forum: Programmieren allgemein
by JohannesK,
7. Jul 2015
Hallo,
ich habe ein merkwürdiges Problem beim Wechsel eines Programms von D7 auf D2010. Das Programm ist komplett identisch übernommen, lediglich einige Komponenten für OPC-Zugriffe sind aktualisiert. Im Programm werden verschiedene Timer erstellt, die den Aufruf unterschiedlicher Erfassungsgruppen steuern. Die Timer sind jeweils in einer Klasse zusammengefasst.
TSavetimer =...