AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Tokyo, Android, TViewPort3D => Black Screen

Tokyo, Android, TViewPort3D => Black Screen

Ein Thema von Michael II · begonnen am 22. Apr 2017 · letzter Beitrag vom 18. Jul 2017
Antwort Antwort
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
771 Beiträge
 
Delphi 11 Alexandria
 
#1

Tokyo, Android, TViewPort3D => Black Screen

  Alt 22. Apr 2017, 11:43
Hallo ins Forum

wenn ich unter Delphi Tokyo Neu > Geräteübergreifende Anwendung > Leere Anwendung wähle, TViewPort3D aufs Form knalle und das Ganze auf meinem Nexus laufen lasse, dann wird zwar (erwartet) der übliche Splash Screen angezeigt, aber dann (Fehler) wird der Bildschirm schwarz.

Unter Berlin und Seattle läuft es wie erwartet.

Wenn ich das Mini-Projekt, welches unter Seattle oder Berlin läuft unter Tokyo lade, dann bleibt der Bildschirm schwarz. [Grund für den Test: Ich dachte, es könnte unter Tokyo evt. an fehlenden Berechtigungen (Projekt > Optionen > Verwendete Berechtigungen) liegen, tut es aber offenbar nicht.]

Andere Anwendungen (ohne TViewPort3D) unter Tokyo laufen.


Verwendet jemand TViewPort3D unter Tokyo? Und wenn ja, läuft's?

Danke.

Sonniger Gruss aus Wabern
Michael
Michael Gasser
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#2

AW: Tokyo, Android, TViewPort3D => Black Screen

  Alt 22. Apr 2017, 13:54
Oh weh, das scheint ja ein ganz gruseliger Bug zu sein.

Habe es gerade mal mit ein paar Demoprogrammen von mir getestet.

Echte 3D-Programme funktionieren ohne Probleme.

Aber 2D-Programme mit Verwendung eines TViewPort3D zeigen einen schwarzen Bildschirm auf dem mobilen Gerät an (getestet mit einem Sony-Xperia Z-Ultra, Android 5, SDK 24.3.3).

Übel...
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
771 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Tokyo, Android, TViewPort3D => Black Screen

  Alt 22. Apr 2017, 14:09
Besten Dank fürs Testen. Ja leider übel...

[ Ich nerv mich, dass ich zwar Betatester war, aber (wie fast immer im Winter) 0 Zeit hatte um zu testen. ]

Ich hoffe, das wird bald gefixt.
Michael Gasser
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
771 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Tokyo, Android, TViewPort3D => Black Screen

  Alt 22. Apr 2017, 23:58
Dieses Problem wurde offenbar (mit zusätzlicher TSphere - wozu) bereits gemeldet:
https://quality.embarcadero.com/browse/RSP-17780
Michael Gasser
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
267 Beiträge
 
#5

AW: Tokyo, Android, TViewPort3D => Black Screen

  Alt 15. Jul 2017, 19:36
Hat jemand zufällig eine Idee woran das Problem lag bzw. liegt? Ich habe das Problem unter iOS, dass mein Viewport nicht angezeigt wird. Was unter Berlin noch problemlos ging, schaut jetzt wie im Anhang aus. Irgendwie wird nur ein kleiner Teil angezeigt und auch nicht an der korrekten Position. Unter Berlin lief es noch einwandfrei.
Jetzt habe ich versucht das ganze umzustellen auf ein reines TForm3D und bin über ein weiteres Problem gestolpert.

Mittels folgendem Code erstelle ich ein Screenshot:

Delphi-Quellcode:
procedure GenerateFormImageExt(AForm: TCommonCustomForm; ABmp: TBitmap);
var
  AScale: single;
begin
  TThread.Synchronize(TThread.CurrentThread,
    procedure()
    begin
      AScale := GetScreenScale(False);
      ABmp.Clear(claNull);
      ABmp.BitmapScale := AScale;
      ABmp.Width := Round(AForm.Width * AScale);
      ABmp.Height := Round(AForm.Height * AScale);

      if AForm is TForm then
      begin
        ABmp.Canvas.BeginScene;
        TForm(AForm).PaintTo(ABmp.Canvas);
        ABmp.Canvas.EndScene;
      end
      else if AForm is TForm3D then
        TForm3D(AForm).Context.CopyToBitmap(ABmp, ABmp.Bounds);
    end);

end;
Das geht unter DX11 und DX9, aber bei GLES (also auf den anderen Systemen) sieht man nur einen kleinen Ausschnitt. CopyToBitmap ruft procedure TCustomContextOpenGL.DoCopyToBits(const Bits: Pointer; const Pitch: Integer; const ARect: TRect); auf, aber der Code scheint mir nicht fehlerhaft, sondern entspricht im Endeffekt dem was ich schon seit Jahren mit OpenGL veranstalte.

Irgendwie ist das alles ziemlich unbefriedigend

Christian
Angehängte Grafiken
Dateityp: jpg IMG_1491.jpg (91,3 KB, 26x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#6

AW: Tokyo, Android, TViewPort3D => Black Screen

  Alt 16. Jul 2017, 11:47
Nach dem letzten Hotfix, eigentlich "nur" für Android gedacht, sollte das Viewport3D auch auf allen anderen Plattformen wieder funktionieren (ich habs nur unter Windows getestet, da geht es wieder):

http://cc.embarcadero.com/item/30781

Ansonsten, nur mal so als Idee: Hast Du als Alternative schon mal versucht, ein TLayout als ersten Cotainer für Deine darin liegenden Controls zu verwenden und da mit "Layout.Makescreenshot" zu arbeiten?
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:14 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