-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
29. Feb 2008
Falls das mit dem langsamen Timer dann klappen sollte, haut Dir irgendwas von dem, was Du aufrufst, die Reihenfolge in Deinem Programm durcheinander. D.h. da werden auch Timer benutzt, oder Application.ProcessMessages. Ein Blick in den Sourcecode davon könnte vielleicht das Rätsel lösen.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
29. Feb 2008
HmmHmmm <imbartkratz>. Ok, sorry für meine paranoide Reaktion.
Das ist in der Tat seltsam. Ich würde herumexperimentieren, um diesem Problem auf die Schliche zu kommen. Wenn Du den Timer sehr langsam einstellst (sagen wir mal so 3s, pi mal daumen) - taucht dann das Phänomen noch auf?
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
29. Feb 2008
Nu jetzt kapiere ich gar nix mehr. Willst Du mich veräppeln? Entweder Du fügst am Ende der Timerprozedur den entsprechenden Code ein, oder Du machst da ein PostMessage, setzt ein Flag oder tust sonstwas. Langsam werde ich hier paranoid. :snowball:
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
29. Feb 2008
Eine Frage, etwas OT, habe ich zur Codeformatierung:
if (aCS200.Get_TempIntern(TempIntern))=0 then
begin
pbFortschritt.Position:=7;
end
else
begin
Failure:=True;
end;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
29. Feb 2008
Tatsächlich! ein Exit springt in den finally-Block. Wer hätte das gedacht. Peinlich, peinlich :oops: errare ursum est.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
29. Feb 2008
Nach dem ersten Timer-Event ist tmrAblauf.Tag immer größer Null, richtig?
Und mit den Exit springst du am finally Block vorbei raus. Ist das Absicht?
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
29. Feb 2008
Wo setzt Du das Tag? Was machst Du sonst noch im Timer-Event? Wo steht die while-Schleife? Ohne den Kontext, in dem die Codeschnipsel stehen, kann ich mir keinen Kopp um Dein Problem machen. Mehr Code! Ich brauch mehr Code! :zwinker:
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
22. Feb 2008
Ich war mir da bis jetzt nicht so sicher. Hey komm, ich bin relativ neu hier! :mrgreen:
Löschen die Moderatoren den Unfug hier eigentlich wieder? Besser fänd ich das schon. Das is nix fürs Archiv :gruebel:
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
22. Feb 2008
Das zu sagen, und in der selben Minute noch zu antworten ist ein wenig zynisch :zwinker:
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
22. Feb 2008
Ich bin ein bißchen durcheinander gekommen mit der Message-Reihenfolge hier im Thread. Ich fühle mich wie ein OnTimer Event mit einem Application.ProcessMessages drin, bei den kurzen Antwort-Intervall hier :roteyes:
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
22. Feb 2008
Ich bin schon wieder zu langsam :wink: - jetzt, wo Du es sagst: Das Application.ProcessMessages im OnTimer kann sich in der Tat böse auswirken bei Überholvorgängen, bis zum stack overflow :gruebel:
Das war mir noch gar nicht aufgefallen. Sollte man also besser nicht machen.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
22. Feb 2008
Aber dann müsste er doch 'nachlaufen', wenn man ihn Enabled := False setzt. Das tun die Dinger nicht.
Ich glaube mich wieder erinnert zu haben: Wenn ein Timer sich "überholt" wird genau ein Event erzeugt, auch bei mehrfacher Überholung. Und das dann sofort ausgeführt, wenn der OnTimer abgearbeitet ist.
Von daher ist SirThornberry's (Apostroph weil englisch) Idee gut, denn dann wird am Ende von...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
22. Feb 2008
Eine Variante ohne das hatte ich oben ja schon vorgeschlagen. Worüber ich gerade grüble: Können sich Timer-Events überhaupt aufstauen? Wenn ja, wo? Im Windows Message Queue? Oder werden die einfach unterschlagen? Ich dachte bis jetzt letzteres. :gruebel:
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
22. Feb 2008
Na, wenn man schon einen Timer nimmt, dann sollte man ganz ohne Application.ProcessMessages auskommen. Sonst könnte er ja gleich eine while-Schleife nehmen. Siehe meine (viel zu langsam editierten) Posts weiter oben.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
22. Feb 2008
Dann wäre ein Thread wohl wirklich die bessere Lösung. Guck dir nochmal meine erste Message hier an - ich war mit meinem Edit etwas zu langsam. :stupid: Vielleicht ist das ja gut genug.
EDIT: In Kombination mit SirThornberrys Vorschlag. (Das geht mir echt zu schnell hier - ich werde alt :| )
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by bluesbear,
22. Feb 2008
Wenn die Anwendung blockiert, dann liegt das wohl daran, daß sie vor lauter Timer-Event-abarbeiten zu nichts anderem mehr kommt. Kannst du nicht das Timerintervall vergrößern?
Alternativ eine Version ohne Application.ProcessMessages:
Im Form deklarieren:FtCount : Integer; und dann procedure TMainGUI.tmrAblaufTimer(Sender: TObject);
begin
inc(FtCount);
case FtCount of
1 :...