Hallo Forum,
ich habe (mal wieder) ein Problem das mich nun schon einige Zeit beschäftigt:
Meine kleine Animation läuft recht gut (http://www.lazarusforum.de/viewtopic.php?f=55&t=9372).
Nun wollte ich mein Programm um eine Auswertung via TChart erweitern. Dazu habe ich "TPageControl" verwendet.
In meiner Animation wird ein Winkel (0-360°) über einen Timer erzeugt. Diesen Wert kann ich auf einem anderen TabSheet (Auswertung) vom PageControl anzeigen lassen und im TChart verwenden. Die anderen Werte, es geht um 2 Analogwerte welche innerhalb von proceduren berechnet werden deren Aufruf im OpenGLControlPaint erfolgt, werden nicht aktualisiert obwohl die Animation, auf dem eigenen Tabsheet im Hintergrund, läuft. Diese läßt sich auch von dem Tabsheet "Auswertung" über Buttons starten und stoppen.
Nur wenn ich die Seite mit der, laufenden, Animation wähle und dann zurück zur Seite "Auswertung" schalte sehe ich statische, aber veränderte, Werte.
Wie kommt es dazu?
Danke und Gruß
Hannes
PageControl Daten werden nicht aktualisiert
Re: PageControl Daten werden nicht aktualisiert
Wie und wann (durch welches Event) lässt du dir die Werte anzeigen?Johannes hat geschrieben:Nur wenn ich die Seite mit der, laufenden, Animation wähle und dann zurück zur Seite "Auswertung" schalte sehe ich statische, aber veränderte, Werte
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: PageControl Daten werden nicht aktualisiert
Hinter der Form "Steuerung" steckt nur eine Unit. Ich benutze, als Zeitbasis für die Animation den Standarttimer. Im Timer-Event stehen meine Zuweisungen um die TEdits auf dem anderen TabSheet zu füllen.
Mit dem Wert "Winkel" funktioniert das auch, nur die anderen Werte werden, wie beschrieben, nicht aktualisiert.
Ich habe folgende Vermutung:
Im "OpenGLPaint" rufe ich diverse proceduren für die Teile meiner Animation auf. In diesen erfolgen auch einige Berechnungen und die Ergebnisse aus diesen Berechnungen machen mir Probleme.
Ich nehme an, dass das OpenGLPaint nur funktioniert wenn die Ausgabe des OpenGL-Bildschirms den Focus hat. Daher werden diese Berechnungen nur aktuelle Ergebnisse liefern wenn die Animation sichtbar ist.
Das ist aber nicht mehr der Fall wenn ich die Seite im PageControl wechsel.
Da mich die Berechnungen an den verschiedenen Stellen meiner Unit sowieso störte bin ich dabei eine eigene procedure "Berechnungen" zu basteln. Dann funktioniert auch die Anzeige meiner Werte einwandfrei.
Danke
Hannes
Mit dem Wert "Winkel" funktioniert das auch, nur die anderen Werte werden, wie beschrieben, nicht aktualisiert.
Ich habe folgende Vermutung:
Im "OpenGLPaint" rufe ich diverse proceduren für die Teile meiner Animation auf. In diesen erfolgen auch einige Berechnungen und die Ergebnisse aus diesen Berechnungen machen mir Probleme.
Ich nehme an, dass das OpenGLPaint nur funktioniert wenn die Ausgabe des OpenGL-Bildschirms den Focus hat. Daher werden diese Berechnungen nur aktuelle Ergebnisse liefern wenn die Animation sichtbar ist.
Das ist aber nicht mehr der Fall wenn ich die Seite im PageControl wechsel.
Da mich die Berechnungen an den verschiedenen Stellen meiner Unit sowieso störte bin ich dabei eine eigene procedure "Berechnungen" zu basteln. Dann funktioniert auch die Anzeige meiner Werte einwandfrei.
Danke
Hannes