wieder DoubleBuffered-Problem



  • Hallo,

    ich habe ein kleines Problem. In der SuFu finde ich zwar viel, aber nichts spezielles für mein Problem. Vllt. könnt ihr mir ja helfen.

    Ich habe auf einer Form Panel, auf dem ich ein Image gelegt habe. Beim OnCreate wird das Panel auf DoubleBuffered = true; gesetzt. Kein Flackern, alles schick.

    Nun handelt es sich aber um ein Form mit 29 Edit - Feldern. Wenn diese auf der Form
    plaziert sind, flackert das Form wiederum.

    Es werden erst die Edit`s aufgebaut, dann ist kurz das Panel zu sehen (das Flackern) und zum Schluß das Image.

    Wie gesagt, ohne Edit`s funtioniert ja alles wunderbar.

    a) Kann mir bitte jemand eklären, warum dies so ist und
    b) was ich dagegen machen kann?

    Vielen Dank schonmal und viel Spaß heute Abend... :schland:

    MfG la_ultima_horst 🤡



  • Hallo,

    wieso legst du denn das Image auf das Panel? Kannst du das Image nicht einfach so auf das Form legen (TImage)?

    Probier' mal das Panel zur Designzeit auf Visible= false setzen, dann zur Laufzeit das Image auf das Panel und dann das Panel anzeigen (Visible= true).

    MfG



  • la_ultima_horst schrieb:

    a) Kann mir bitte jemand eklären, warum dies so ist und
    b) was ich dagegen machen kann?

    a: Vermutlich weil DoubleBuffered nur für das Panel aktiviert wurde.
    b (1): Setz mal das Formular selbst auf Double-Bufferd = true.
    b (2): Die Editfelder auf ein eigenes Panel setzen und dort ebenfalls Double Buffered = true setzen.

    Beide Möglichkeiten führen aber wahrscheinlich zu einem massiven Performance-Hit. Sollte das so sein, musst Du das Konzept überarbeiten.



  • Hallo!

    Erstmal Danke für eure Hilfe.

    @ Kolumbus
    Das hatte ich auch schon ausprobiert. Das Flackern bleibt... 😕

    @ Joe_M.
    Habe das Form und das Panel auf DoubleBuffered = true. Auch hier bleibt das Flackern. 😞

    Sind es vllt. einfach nur zu viele Edit`s?

    MfG la_ultima_horst 🤡



  • la_ultima_horst schrieb:

    Sind es vllt. einfach nur zu viele Edit`s?

    Die Frage kannst Du Dir doch selber beantworten. Schmeiß ein paar runter und schau was passiert.



  • Das 2.Panel erstell aber nicht auf dem 1.Panel, sonst gehört es da zum Parent Panel. Dann sollte da eigentlich nichts mehr flackern.



  • Hast du in deinen Edits die OnChange-Ereignisse abgefangen und änderst du darin irgendwas auf deiner Form?



  • Tut mir leid, aber irgendwie kommt mir das schon wieder wie ein lustiges Rätselraten vor. Also, nur damit ich Alles richtig verstehe:

    Du hast ein Formular, auf dem du zur Designzeit 1 TPanel und 29 TEdits platzierst. Außerdem hast du auf dem TPanel noch ein TImage platziert, in das du bereits zur Designzeit ein Bild geladen hast. Das sind alle Komponenten auf dem Form. Das Form wird beim Anwendungsstart erzeugt und dann gleich oder später angezeigt. Wenn du dann deine Anwendung startest und das Form angezeigt wird, flackert das Bild... Wenn du die 29 TEdits weglässt, flackert das Bild nicht.
    Soweit richtig?

    Edit: Rechtschreibung 🙄



  • @ Kolumbus
    Genau so ist es...

    @ Braunstein
    Nein.

    MfG la_ultima_horst 🤡



  • Hallo,

    Kolumbus schrieb:

    wieso legst du denn das Image auf das Panel? Kannst du das Image nicht einfach so auf das Form legen (TImage)?

    Probier' mal das Panel zur Designzeit auf Visible= false setzen, dann zur Laufzeit das Image auf das Panel und dann das Panel anzeigen (Visible= true).

    la_ultima_horst schrieb:

    @ Kolumbus
    Das hatte ich auch schon ausprobiert. Das Flackern bleibt... 😕

    Was hast du probiert? Beides? Beides einzeln UND auch mal zusammen (Ohne Panel UND Visible)?

    Zusätzliche Frage: Wie groß ist dein Bild (kByte, MByte?) und welches Format hat es?

    MfG



  • Hallo,

    @ Kolumbus:

    Also ich habe jetzt nochmal ausprobiert:
    Image erst zur Laufzeit Visible=true = das flackern bleibt
    Panel erst zur Laufzeit Visible=true = das flackern bleibt
    komplett ohne Panel und nur das Image = das flackern bleibt

    Das Image ist im .jpg Format, 166 Kb, 833x593 Pxl.



  • @ Kolumbus:

    Diene Frage nach dem Format war gold wert. Habe jetzt das Image im .bmp Format vorliegen und siehe da, kein flackern mehr. Danke danke danke...

    Aber wieso? Werden bmp Formate schneller geladen/bearbeitet als jpg Formate? Kann mir jemand sagen warum das so ist?

    Aber erstmal vielen vielen Dank... 😃 🙂 🤡


Anmelden zum Antworten