Forum: Programmieren allgemein
by moelski,
11. Sep 2009
Moin !
Die Grafik wird im Sekundentakt upgedatet. Das ist das was die Anwendung eben im Normalfall tut - Kurven plotten.
richtig. Die Grafik verändert sich laufend und drum muss alles 20 Sekunden ein neues JPG der Grafik geschrieben werden.
Und weil das TChart die Grafik neu zeichnet wenn man neue Punkte einträgt, muss ich nach dem Eintragen irgendwann mal die Grafik speichern.
Mache...
Forum: Programmieren allgemein
by moelski,
11. Sep 2009
Moin !
@Blup:
Das mit dem Grafik schreiben ist so eine Sache. Die Grafik steht bereits und ich möchte auch nicht eine neue Grafik berechnen lassen. Das kostet alles Zeit.
Ich habe aber jetzt dank alzaimar die Sache mit TCriticalSection versehen. Und siehe da, all meine Probleme haben sich wie von Zauberhand gelöst.
Habe schon seit Stunden einen Test am rennen mit mehreren Webbrowsern...
Forum: Programmieren allgemein
by moelski,
11. Sep 2009
Moin !
@alzaimar:
Und in WriteTheFile / bzw. ReadTheFile würde ich dann meinen Code zum Lesen bzw. Schreiben der Datei packen?
Oder darein nur den Counter bearbeiten?
Forum: Programmieren allgemein
by moelski,
11. Sep 2009
Moin !
Ich muss diesen Fred nochmal aufgreifen. Irgendwie bin ich mit der jetzigen Lösung noch nicht im Reinen.
while FileInUse(LPathname) do Application.ProcessMessages;
Sowas widerstrebt mir irgendwie genauso wie Sleep Aufrufe.
Habe jetzt folgende Idee ...
Generell gibt es ja 2 Prozesse die vollkommen asynchron zueinander laufen:
1) Speichern der Webseite
Forum: Programmieren allgemein
by moelski,
10. Mär 2009
Moin !
Das würde bedeuten das ich aber alle x Sekunden eine komplett neue Grafik erzeugen muss und die Werte eintrage. Das kostet imens Zeit. Wir haben Geräte die senden alle 62,5 Millisekunden. Da kommt man dann schnell in Nöte was die Berechnung angeht.
Ok man könnte die Grafik dann in einem Thread erzeugen lassen. Aber dann steigt der Aufwand für diese Grafik doch enorm.
Forum: Programmieren allgemein
by moelski,
10. Mär 2009
Jo das stimmt.
Ich muss auch gestehen das ich mit dem Konstrukt noch nicht ganz warm geworden bin ...
Aber ich werde das jetzt erstmal so weiter testen. Das Problem an der Sache ... Die Tests sind eher müssig und langwirig ... :|
Forum: Programmieren allgemein
by moelski,
10. Mär 2009
Moin !
Ich habe das jetzt so gelöst:
procedure TLV_HTTP_Server.HTTPServer_CommandGet(AContext : TIdContext;
ARequestInfo : TIdHTTPRequestInfo;
AResponseInfo : TIdHTTPResponseInfo);
var
LFilename: string;
LPathname: string;
Forum: Programmieren allgemein
by moelski,
10. Mär 2009
Moin !
Nein das geht aus verschiedenen Gründen nicht.
Das ist ein Livelogging und wir wollen zwar demnächst eine Dtaenbank verwenden, aber die Einzelwerte stehen da dann nicht drin. Ich glaube das würde in Summe auch zu viel Zeit kosten jeweils die Grafik neu zu berechnen.