Delphi-PRAXiS
Seite 1 von 2  1 2   

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/)
-   -   Delphi 10.3, TeeChart & Android (https://www.delphipraxis.net/198991-delphi-10-3-teechart-android.html)

Atze75 17. Dez 2018 13:54

Delphi 10.3, TeeChart & Android
 
Hallo!

Ich habe folgendes Problem. In meiner App verwendet ich die Komponente TeeChart (Lite-Version). Nach der Umstellung auf Delphi 10.3 erscheint beim Ausführen der App unter Android die Fehlermeldung „OpenGL Kontext für „eglMakeCurrent“ kann nicht erstellt werden.“

Danke im voraus für Eure Hilfe

hoika 18. Dez 2018 09:08

AW: Delphi 10.3, TeeChart & Android
 
Hallo,
hier lese ich
https://www.steema.com/files/public/.../tutorial2.htm

when OpenGL is enabled

Also kann man das auch abschalten.

Atze75 18. Dez 2018 10:56

AW: Delphi 10.3, TeeChart & Android
 
Ich glaube Delphi nutzt bei Android generell zum Zeichnen seines Fensters OpenGL. Dann kann man OpenGL nicht so einfach deaktivieren. OpenGL ist auch nicht das Problem. Beim Debugging habe ich festgestellt, das die Klasse TContextAndroid nicht korrekt freigegeben wird, wenn man die TeeChart-Komponente verwendet. Da das Surface (EGLSurface) nur einmal für ein Fenster existieren kann, kann es nicht nochmal erzeugt werden. Innerhalb der TeeChart-Komponente muss eine Zeiger auf die Klasse TContextAndroid gespeichert sein. Die Freigabe von Objekten erfolgt bei Android über Referenzzählung.

Eschenbach 10. Jan 2019 04:25

AW: Delphi 10.3, TeeChart & Android
 
Ich kann diesen Fehler bestätigen - habe aber auch bisher keine Lösung!

Mit Delphi 10.3 verursachen Delphi Formulare mit der TChart Komponente und einem einfachen Linien- oder Balkendiagramm bei mir auf älteren Android Versionen (getestet mit Android 4.2.2 und 5.01) zunächst die Fehlermeldung:
"Rendern der Szene für 'TContextAndroid' kann nicht begonnen werden"
gefolgt von:
"OpenGL-Kontext für 'eglMakeCurrent' kann nicht erstellt werden".
Auf Android 6.0.1 habe ich keine derartigen Fehlermeldungen. Android 7 und 8 habe ich bisher nicht getestet.

Wenn man das Form verlässt (ohne Free) und ein zweites Mal mit Show aufruft, gibt es keine Fehlermeldungen mehr und alles funktioniert wieder normal.

Bei älteren Delphi Versionen (getestet mit 10.1.2 und 10.2.3) habe ich diese Fehler nicht - aber sie hindern mich daran, nun Delphi 10.3 für meine Apps zu nutzen ...

DualCoreCpu 10. Jan 2019 09:40

AW: Delphi 10.3, TeeChart & Android
 
Moderatoren!:

Diesen Beitrag bitte löschen. Posting in falschen Thread!!!

Atze75 10. Jan 2019 09:42

AW: Delphi 10.3, TeeChart & Android
 
Ich kann deine Erkenntnis nur zum Teil bestätigen. Auf Android 6.x tritt zwar keine Exception auf, aber die App funktioniert trotzdem nicht korrekt. Beim Drehen des Smartphones oder Tab (Landscape oder Portait) wird die App nicht richtig gezeichnet.

Eschenbach 10. Jan 2019 18:45

AW: Delphi 10.3, TeeChart & Android
 
@DualCoreCpu

Stimmt! Das war mir bisher noch gar nicht aufgefallen!

Ein Form mit TChart wird bei mir unter Android 6.0.1 zunächst im Portrait-Modus richtig angezeigt. Nach Drehen in den Landscape-Modus sieht es bei mir auch noch gut aus, aber beim Zurückdrehen in den Portrait-Modus wird anscheinend der Landscape-Modus beibehalten und der untere Teil des Bildschirms bleibt schwarz. Nach erneutem Show ist die Anzeige im Portrait-Modus zunächst wieder ok, aber nach Drehung in den Landscape-Modus ist dann dort die rechte Bildschirmhälfte schwarz ...

Sehr schade, dass man bei jeder neuen Delphi-Version über irgendwelchen Mist stolpert und sie dann doch wieder nicht einsetzen kann!

Thomas Horstmann 10. Jan 2019 19:43

AW: Delphi 10.3, TeeChart & Android
 
Ich benutze TChart in Forms/Panels mit Align=Client. Seit 10.3 werden Grafiken beim Drehen (nur Android) nicht mehr richtig gezeichnet und verzerrt ggf. die Formgröße (Teil bleibt schwarz). Als Workaround blende ich bei OnResize der Hauptform alles aus und wieder ein. Dann wird es wieder richtig angezeigt. Nicht schön, aber was besseres habe ich nicht gefunden.

Delphi-Quellcode:
procedure TMainForm.FormResize(Sender:TObject) ;
begin
if TOSVersion.Platform = pfAndroid then
  begin
  { Ein-/ausblenden !!! Sonst werden Arbeitsblätter mit Grafiken bei Drehung falsch angezeigt !!! }
  Visible := False ;
  Visible := True ;
  end ;
end ;

Eschenbach 11. Jan 2019 02:30

AW: Delphi 10.3, TeeChart & Android
 
@Thomas

Danke für den guten Tipp. Habe ihn ausprobiert und das funktioniert auch bei mir!

Rollo62 11. Jan 2019 07:52

AW: Delphi 10.3, TeeChart & Android
 
Zitat:

Zitat von Thomas Horstmann (Beitrag 1423080)
Workaround blende ich bei OnResize der Hauptform alles aus und wieder ein.
Delphi-Quellcode:
procedure TMainForm.FormResize(Sender:TObject) ;

Hallo Thomas,

Hattest nie Probleme mit OnResize ?
Ich hatte in den frühen Tagen (XE6 oder so) mal Fälle wo OnResize nicht gefeuert wurde, seitdem benutze ich auf mobilen Plattformen die OrientationChange Events.

Edit:
Danke für den Tipp auch nochmal von mir.
Hatte tatsächlich auch bisher nicht gesehene Exceptions bei den Charts.
Mit dem OnResize ist es auch bei mir wieder OK :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 Uhr.
Seite 1 von 2  1 2   

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