Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   VCL Flicker Reduce Unit (https://www.delphipraxis.net/78231-vcl-flicker-reduce-unit.html)

stahli 6. Aug 2007 18:33

Re: VCL Flicker Reduce Unit
 
Hallo jbg,

großes Lob und vielen Dank von mir :-)

Wenn das wirklich an Borland liegt, solltest Du vielleicht einmal in Fragen und Anregungen etwas zu dem Problem schreiben...

Deine Unit funktioniert bei mir bis dahin anscheinend erst einmal wunderbar.

Gruß
Stahli

mirage228 6. Aug 2007 18:41

Re: VCL Flicker Reduce Unit
 
Hi,

Habe die Unit auch mal ausprobiert.
Als allerstes muss ich sagen, dass die Unit wirklich toll ist :)
Einen "Fehler" habe ich allerdings. Ich habe mehrere Panels mit ParentBackground = True. Das führt aber zu einer Fehlerdarstellung. Der Hintergrund kann durch Fenster die ich darüberziehe übermalt werden (Sprich das Fenster ist dann im Hintergrund, wie wenn ein Programm nicht mehr reagiert und es nicht mehr richtig neugezeichnet wird).

Lässt sich das evtl. beheben?

mfG
mirage228

stahli 6. Aug 2007 18:48

Re: VCL Flicker Reduce Unit
 
noch ein Nachtrag:

Das Flackern trat bei meinem Programm nur unter XP auf - unter NT nicht.
Muss morgen mal sehen, wie die Unit-Auswirkungen unter NT sind...

Mit der Unit flackern bei mir noch die Einträge der RadioGroup (der Rahmen und die Beschriftung allerdings nicht mehr).

Stahli

jbg 6. Aug 2007 21:13

Re: VCL Flicker Reduce Unit
 
Zitat:

Zitat von mirage228
Einen "Fehler" habe ich allerdings. Ich habe mehrere Panels mit ParentBackground = True. Das führt aber zu einer Fehlerdarstellung.

Das ist mir auch letztens aufgefallen. Jedoch habe ich im Moment keine Zeit diesen Fehler zu suchen und eine Möglichkeit zu finden, die das Flackern nicht wieder verstärkt. Ein einfaches "InvaldiateRect(handle, nil, True (statt False)) würde nämlich das Problem beheben. Jedoch kann man sich dann gleich vom Arzt ein Atest auf Augenkrebs verschreiben lassen.

mirage228 6. Aug 2007 21:32

Re: VCL Flicker Reduce Unit
 
Zitat:

Zitat von jbg
Das ist mir auch letztens aufgefallen. Jedoch habe ich im Moment keine Zeit diesen Fehler zu suchen und eine Möglichkeit zu finden, die das Flackern nicht wieder verstärkt. Ein einfaches "InvaldiateRect(handle, nil, True (statt False)) würde nämlich das Problem beheben. Jedoch kann man sich dann gleich vom Arzt ein Atest auf Augenkrebs verschreiben lassen.

Also wenn es nur um Panels geht, könnte ich das Flackern wohl verschmerzen, weil ich in der Anwendung in der ich die Unit einsetzen will eh nicht viele Panels habe (aber halt zwei, drei kleine wo es auffält.).
Wo in Deiner Unit kann ich den InvalidateRect-Code einfügen oder muss der ganz woanders hin?

mfG
mirage228

jbg 7. Aug 2007 16:46

Re: VCL Flicker Reduce Unit
 
Ich habe es zwar jetzt nicht getestet, aber wenn du den gesamten Code von InvalidateSyncPaintControls() durch ein "Control.Invalidate;" ersetzt, könnte es funktionieren.

mirage228 7. Aug 2007 16:55

Re: VCL Flicker Reduce Unit
 
Zitat:

Zitat von jbg
InvalidateSyncPaintControls()

Also entweder bin ich blöd oder es gibt diese Funktion einfach nirgends.
Habe in der Datei, die in Deinem ersten Beitrag angehängt ist und in allen VCL Source Units suchen lassen... kein Ergebnis zu einer solchen Funktion :gruebel:

mfG
mirage228

jbg 7. Aug 2007 17:21

Re: VCL Flicker Reduce Unit
 
Das liegt wohl daran, dass ich mich auf den "neuesten" Code beziehe. Vielleicht tritt dort auch nicht mehr der Fehler auf, den du hast, da ich die gesamte Unit neu geschrieben habe.

mirage228 7. Aug 2007 17:48

Re: VCL Flicker Reduce Unit
 
Zitat:

Zitat von jbg
Das liegt wohl daran, dass ich mich auf den "neuesten" Code beziehe. Vielleicht tritt dort auch nicht mehr der Fehler auf, den du hast, da ich die gesamte Unit neu geschrieben habe.

Achso, hm mit der aktuellen Unit aber habe ich wieder das Flickern das mit der Version hier aus der DP eigentlich behoben (TImage auf TTabSheet) war...

mfG
mirage228

Yheeky 7. Aug 2007 18:10

Re: VCL Flicker Reduce Unit
 
Hi,

also ich habe noch einen Fehler bei mir im Programm und zwar lasse ich die Form nach folgendem Prinzip zeichnen:
[UpdateLayeredWindow] Vergrößerbare Form realisieren

Wenn ich nun deine Komponente in mein Programm einbinde, dann ist es mir nicht möglich, nach dem Verändern der Formgröße, ein Memo zu fokussieren. Weisst du, woran das liegt?

Hier ist mein Post, welchen in vor ein paar Tagen erstellt hatte:
Komponenten werden bei Form.Resize langsam neu gezeichnet


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:46 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz