![]() |
Re: Double Buffered Bug
Hi, keiner eine Idee mehr ?
Ich habe selber nochmal etwas probiert. Folgende Möglichkeiten: Double Buffered = false -> Programm läuft auf allen Systemen, Anzeige flackert Double Buffered = true -> Programm läuft auf allen Systemen, allerdings Anzeigefehler bei Checkboxen, Buttons, usw. im Zusammenhang mit Xp Style Double Buffered = true + Themefix aus dem Anhang im 1.Post, läuft ohne Anzeigefehler mit Xp Style, schließt sich auf manchen Systemen sofort nach dem starten automatisch. Irgendwie sind das alles keine optimalen Optionen. Was für Lösungen gibt es nun ? Lässt sich evtl. das Double Buffered nur für die Paintbox nutzen ? Ggf. auf die Graphic32 Kompos zurückgreifen die ja um einiges schneller sein solle und das Double Buffered selber übernimmt ? Fehler im Themefix beheben damit es auf allen System läuft ? Mfg Blamaster |
Re: Double Buffered Bug
Das mit dem schwarzen Rahmen liegt an ParentBackground, diese Eigenschaft muss
soweit ich mich erinnere beim Button oder wo auch immer auf False gesetzt werden. MfG Alaitoc PS: Wurde soweit ich weiß auch schon öfters im Forum unter dem Suchbegriff "DoubleBuffered" besprochen. |
Re: Double Buffered Bug
Hi,
ich hatte hier im forum schon gesucht. Allerdings will nichts so wirklich klappen. Die Paintbox ansich hat keine DoubleBuffered eigenschaft, so das ich nicht nur diese auf DoubleBuffered = true setzen kann. Die Buttons z.b. haben keine ParenBackground eigenschaft die man auf false setzen könnte. Die Paintbox auf ein Panel zu legen und das Panel auf DoubleBuffered = true zu setzen, brachte auch keinen Erfolg außer das die Paintbox flackert. Mfg Yannic |
Re: Double Buffered Bug
Zitat:
|
Re: Double Buffered Bug
Also ich glaube ParentBackground musste auf False gesetzt werden bei den Panels oder Forms wo die Buttons drauf liegen.
Zumindest habe ich keinerlei Probleme damit in meinem aktuellen Projekt. MfG Alaitoc Bsp: Hauptformular mit Panel, auf Panel liegt ein Button und Parentbackground vom Panel ist auf False. Gibt keinerlei Probleme wenn ich dann DoubleBuffered anwende. |
Re: Double Buffered Bug
@ Alitoc
Danke so hat es jetzt geklappt. @ Medium Das Problem ist nur das es das Programm so nicht hergibt ohne sich die Kompletten Daten für den Hintergrund der bmp komplett neu berechnen zu lassen. Außerdem dürfen die nachträglichen Elemente auch nicht mit gestrecht werden. Das würde so mehr Probleme produzieren als das es welche löst. Mfg Yannic |
Re: Double Buffered Bug
Du verstehst Medium falsch: er meint du sollst alles was du auf deiner Paintbox jetzt rumdüdelst, sollst du auf einem nicht angezeigten Bitmap machen und dieses danach einfach nur auf die Paintbox ausgeben...
|
Re: Double Buffered Bug
Sekunde.
Zitat:
Edit: Roter Kasten is Montags auch noch nich so fit, hm? Ich glaub der Teekeks hat recht, auch wenn ich grad nicht verstehe wie du mich verstanden hast :) Edit2: Das mit dem komplett erst "offline" (also unsichtbar) Zeichnen, und in einem Schwupps ausgeben ist übrigens auch die gängige Praxis. DoubleBuffered ist eine Krücke um dies auf einem Umweg zu erreichen. Besser gleich selber sauber bauen, spart mittelfristig einen Haufen Nerven (und Zeit). |
Re: Double Buffered Bug
Hi,
dann versuch ich mich nochmal besser auszudrücken. 1. Hintergrund wird einmal in eine Bitmap gezeichnet und dann der Paintbox übergeben. Nun sollen noch verschiedene Time Lines gezeichnet werden die sich alle 20ms über den timer ändern. Der Hintergrund soll dabei aber dennoch konstant bleiben. Nun mein Problem. Wenn ich die Timeline direkt auf das Hintergrund Bitmap zeichne, dann würde sich ja nach jedem Timerintervall die Timeline einfach ein stück weiter rechts zeichnen die vorige Timeline allerdings nicht gelöscht werden. So ergibt sich unter der Annahme die Timeline ist blau dann ein langer blauer balken. Nun ist die Frage was passiert wenn ich das Hintergrund Bitmap an die Paintbox übergebe und dann eine zweite Bitmap drüber lege und nur diese zweite Bitmap jedes mal geleert und die neue Timeline eingezeichnet wird. |
Re: Double Buffered Bug
Dann:
Grundbild wie bisher als Bitmap haben und dann noch ein weiteres wo du folgendes machst: 1. Hintergrund drauf kopieren 2. Deine Linien draufzeichnen 3. Das ganze der Paintbox übergeben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz