Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   [FMX - Android] DBChart Anzeigefehler (https://www.delphipraxis.net/190810-%5Bfmx-android%5D-dbchart-anzeigefehler.html)

Devil1925 10. Nov 2016 10:27

[FMX - Android] DBChart Anzeigefehler
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,
ich bin Ratlos. Ich habe ein TDBChart, welches mit alClient auf einem Panel liegt. diesem DBChart habe ich Series zugewiesen etc... funktioniert alles wunderbar. Auf dem Tablet mit android 4.2.
Wenn ich das ganze auf einem Android 6 Gerät laufen lasse, kommt es vor, dass sich das DBChart in die obere Linke Ecke verkleinert und komische bildfehler im nun leeren bereich anzeigt (Bild im Anhang)
Hat das schonmal jemand gehabt / weiss jemand wie man das Problem löst?

Thomas Horstmann 10. Nov 2016 10:59

AW: [FMX - Android] DBChart Anzeigefehler
 
Ich hatte ein ähnliches Problem in einer älteren Delphi Version mit TChart und TeeCreateBitmap. Sah genau so aus. Durch ändern der Hintergrundfarbe (weiß statt ohne) funktionierte es dann. Seit 10.1 ist das Problem nicht wieder aufgetreten. Evtl. auch mal mit BeginUpdate/EndUpdate testen.

Devil1925 10. Nov 2016 11:02

AW: [FMX - Android] DBChart Anzeigefehler
 
also ich habe das Chart auf einem Panel liegen, welchem ich ja soweit ich weiss keine Farbe zuweisen kann, und die Hintergrundfarbe des Formulars ist rot...

Thomas Horstmann 10. Nov 2016 11:27

AW: [FMX - Android] DBChart Anzeigefehler
 
Welche Farbe ist denn im TChart unter "Color" eingetragen? Falls "Null" dann mal auf rot ändern.

Der schöne Günther 10. Nov 2016 11:39

AW: [FMX - Android] DBChart Anzeigefehler
 
Was ist denn wenn du das Gerät drehst um ein Resize des Panels (und somit des Charts) auszulösen?

Können wir die DB-Abhängigkeit ausschließen indem du mal einen "normalen" Chart nimmst und es sich da auch so verhält?

Devil1925 10. Nov 2016 12:14

AW: [FMX - Android] DBChart Anzeigefehler
 
also bei color ist weiss eingetragen, und bei einem Resize wird der Fehler entsprechend mit gedreht.

Thomas Horstmann 10. Nov 2016 12:27

AW: [FMX - Android] DBChart Anzeigefehler
 
Verwende TChart auch unter Android und es läuft soweit. Allerdings benutzte ich nicht TDBChart sondern befülle TChart direkt. Es gab damit die beschriebenen Probleme mit der Hintergrundfarbe. Allerdings nicht in Delphi 10.1 (Update 1). Wir auch 10.1 eingesetzt?

Devil1925 10. Nov 2016 12:43

AW: [FMX - Android] DBChart Anzeigefehler
 
Hier wird delphi 10 Seattle eingesetzt.

Devil1925 10. Nov 2016 14:31

AW: [FMX - Android] DBChart Anzeigefehler
 
ich habe jetzt noch mal ein bisschen getestet, und bin zu dem schluss gekommen, dass das mit der Hintergrundfarbe scheinbar nichts zu tun hat, denn sowohl mit farbe als auch ohne entsteht dieser Anzeigefehler.

Devil1925 20. Dez 2016 14:08

AW: [FMX - Android] DBChart Anzeigefehler
 
Ich bin jetzt nochmal an das Thema herangegangen, indem ich mir eine neue Testanwendung erstellt habe, in welcher ich ein TDBChart auf einem Rectangle auf alClient gesetzt und mit Daten gefüllt habe. Ausgeführt und überrascht gewesen, es funktioniert wunderbar. Also das ganze in meine Anwendung eingebracht. Was Passiert: ich habe Charts, wobei diese auf verschiedenen TabItems liegen. Wenn ich in dem ersten Chart auf einen Balken klicke, wird das 2. TabItem mit dem 2. Chart aufgerufen. Nun habe ich das Phänomen, dass das Erste Chart wie oben gezeigt angezeigt wird, das 2. Aber korrekt.

Suche nach dem Unterschied:
Struktur beim Ersten Chart (Funktioniert nicht): Form-TabControl-TabItem-Rectangle-DBChart. Struktur beim zweiten Chart (Funktioniert): Form-TabControl-TabItem-Panel-Rectangle-DBChart.

Meine Vermutung nun: es scheint mit dem Panel zu funktionieren, ohne nicht. Also das Panel auch beim ersten eingefügt. Und nun wird es komplett komisch: jetzt sind beide von der Struktur her gleich aufgebaut. Allerdings funktioniert nun das erste Chart, das zweite wird aber nun so angezeigt wie oben.

hat da noch irgendwer eine Idee?

Rollo62 21. Dez 2016 07:06

AW: [FMX - Android] DBChart Anzeigefehler
 
Das könnte sein.
Ich bringe aus Prinzip immer ein Panel (oder manchmal TLayout or TRectangle) als Container mit auf das TabItem,
habe seitdem eigentlich keine Probleme mehr dait gehabt.

Das TabItem scheint vielleicht kein guter Container für Controls zu sein.

Jedenfalls eine Zwischenschicht aus Panel oder Layout macht für mich immer einen Sinn, auch an anderer Stelle,
weil dann alles schonmal gekapselt ist.
- Kann man notfalls auch mal eben woanders hin schieben, bei Bedarf, ohne die Sruktur zu ändern.
- Das Panel ist auch sehr gut geeignet als Container für z.B. separate Formes oder Frames, um diese während
der Laufzeit dynamisch zuzuordnen.

Mit der Verschachtelungstiefe hatte ich noch keine Probleme, erstaunlicherweise, auch wenn ich komplexe Strukturen
mit TabControls in TabControls habe.

Rollo

Devil1925 21. Dez 2016 13:55

AW: [FMX - Android] DBChart Anzeigefehler
 
Allerdings habe ich doch unter beiden Charts ein Panel, und es funktioniert nur das eine Chart korrekt.

Habe ich dich nun falsch verstanden oder hast du mich falsch verstanden?

Devil1925 21. Dez 2016 15:36

AW: [FMX - Android] DBChart Anzeigefehler
 
habe da was Entdeckt, was eventuell zur Lösung beitragen könnte. Wenn ich z.B. Tab1 in der Entwicklung geöffnet habe mit Chart1, dann funktioniert Chart1. Chart2 hat dann einen Anzeigefehler (wie Oben). Habe ich Tab2 geöffnet mit Chart2, dann funktioniert Chart2 und Chart1 funktioniert nicht. Stehe ich auf einem anderen Tab (z.B. auf Tab3) so funktioniert keines der beiden Charts und beide werden fehlerhaft angezeigt.

Rollo62 21. Dez 2016 20:41

AW: [FMX - Android] DBChart Anzeigefehler
 
Zitat:

Struktur beim Ersten Chart (Funktioniert nicht): Form-TabControl-TabItem-Rectangle-DBChart. Struktur beim zweiten Chart (Funktioniert): Form-TabControl-TabItem-Panel-Rectangle-DBChart.
Ja ich hab es so verstanden das 2. Version mit Panel funktioniert.

Rollo

Devil1925 22. Dez 2016 07:16

AW: [FMX - Android] DBChart Anzeigefehler
 
wie mein Letzter Beitrag hoffentlich aussagt, ist es egal ob mit oder Ohne Panel, es liegt scheinbar daran, welcher Tab in der Entwicklung beim Compilieren geöffnet ist. Naja, da scheint irgendwie der Wurm drin zu sein, ich werde mal versuchen ob ich es durch ein Neu erstellen des Formulars beheben kann, melde mich dann nochmal

himitsu 22. Dez 2016 08:29

AW: [FMX - Android] DBChart Anzeigefehler
 
Anders gesagt:
Nur der Chart funktioniert, welcher zu Beginn sichtbar ist
und die anfangs Unsichtbaren zeigen diesen Bug.

DBChart? ich dachte unter FMX gibt es nur den TChart?

Devil1925 22. Dez 2016 08:41

AW: [FMX - Android] DBChart Anzeigefehler
 
Ich denke ich habe die Ursache des Bugs gefunden: ich habe über meinem Chart (also an der Oberen Bildschirmkante) noch eine Toolbar. Wird diese nicht angezeigt, so besteht dieses Problem nicht und der Bug tritt nicht auf.

Devil1925 22. Dez 2016 12:23

AW: [FMX - Android] DBChart Anzeigefehler
 
Oder auch nicht. hier tritt der fehler erneut auf, habe ihn nur bei den ersten tests nicht erzeugt... hier tritt er beim drehen des Gerätes auf.

Devil1925 23. Dez 2016 08:01

AW: [FMX - Android] DBChart Anzeigefehler
 
Ich habe mal im Anhang ein Kleines Testprojekt angehängt. Zeige ich mir hier das TChart an, so funktioniert dies (Unit12 im Projekt). Lasse ich mir allerdings das TChart in der Unit "Auswertung" anzeigen, so funktioniert dies nicht. hat da jemand eine Idee, was ich anders / Falsch gemacht habe?

Devil1925 23. Dez 2016 08:09

AW: [FMX - Android] DBChart Anzeigefehler
 
Liste der Anhänge anzeigen (Anzahl: 1)
natürlich prompt den Anhang vergessen... hier ist er

Devil1925 23. Dez 2016 10:29

AW: [FMX - Android] DBChart Anzeigefehler
 
So, ich glaube den Fehler nun entgültug gefunden zu haben. Ws liegt scheinbar an der ChangeTabAction. Wenn ich diese rausschmeisse und das ChangeTab nur noch über
Delphi-Quellcode:
TabControl.ActiveTab := Tab_Umsatz
mache funktioniert es. Man war das ne Suche.


Danke an alle die mir dabei geholfen haben!

himitsu 23. Dez 2016 10:31

AW: [FMX - Android] DBChart Anzeigefehler
 
Und was machst du da drin für "schlimme" Dinge?

Devil1925 23. Dez 2016 10:34

AW: [FMX - Android] DBChart Anzeigefehler
 
das ist ganz einfach ein Aufruf von einer TChangeTabAction.

Delphi-Quellcode:
ChangetabAction1.ExecuteTarget(self);
und das Verträgt sich schienbar nicht mit dem TChart.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:08 Uhr.

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