Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Rendern der Szene für TContextIOS kann nicht begonnen werden (https://www.delphipraxis.net/199919-rendern-der-szene-fuer-tcontextios-kann-nicht-begonnen-werden.html)

Harry Stahl 1. Mär 2019 17:49

Rendern der Szene für TContextIOS kann nicht begonnen werden
 
Zum Start der Anwendung erhalte ich genau zweimal den im Titel genannten Hinweis.

Übers googeln habe ich nur das gefunden:

https://plus.google.com/100830204616...ts/7kJoCVBzQa3

Trifft bei mir aber nicht zu, ich nehme zum Start keinen Zugriff auf die Hauptform von einer anderen Form aus.

Weiß jemand da was mit anzufangen?

Alle BeginScene und EndScene in der App habe ich gecheckt, auch wenn ich alles weglasse, wo ich selber zeichne, kommt diese Meldung.

Problem ist aber "nur" auf dem Device (per Simulator 12.0 kann ich immer noch nicht testen, da ich immer den Debugger Assertion Failur "obj" in ..."Win32src\rproxy.cpp at line 663" erhalte (und die App dann auch gar nicht auf dem Simulator startet)

Simulator mit IOS 10.2 geht, aber da kommen keine Fehler...

Harry Stahl 1. Mär 2019 18:47

AW: Rendern der Szene für TContextIOS kann nicht begonnen werden
 
Problem gelöst, hatte doch (versehentlich) von der Mainform aus versucht eine andere erzeugte Form, von der ich Teile für die Mainform brauche sichtbar zu schalten.

Bleibt nur noch das generelle Problem, dass ich keine Anwendung auf einem IOS-Simulator mit IOS 12.x starten kann, crasht sofort, auch einfach nur eine leere Form...

Interessant aber, dass das erstgenannte Problem auf dem Simulator (mit IOS 10.2) gar kein Problem erzeugte, da zeigt sich doch leider wieder mal, dass es ohne das Device nicht geht...

Mavarik 1. Mär 2019 21:48

AW: Rendern der Szene für TContextIOS kann nicht begonnen werden
 
Zitat:

Zitat von Harry Stahl (Beitrag 1426776)
Bleibt nur noch das generelle Problem, dass ich keine Anwendung auf einem IOS-Simulator mit IOS 12.x starten kann, crasht sofort, auch einfach nur eine leere Form...

Ja weil der Sim > 10.x nicht unterstützt wird...

Siehe unter Punkt 2

Mavarik

Harry Stahl 2. Mär 2019 00:00

AW: Rendern der Szene für TContextIOS kann nicht begonnen werden
 
Danke Frank, kann ich mir eine weitere Problemsuche sparen...

interessanter und sonst auch informativer Link.

QuickAndDirty 17. Apr 2019 13:12

AW: Rendern der Szene für TContextIOS kann nicht begonnen werden
 
Einer meiner User hat den selben Fehler. Aber von anderen habe ich bisher nichts gehört. Leider ist der Google+plus link von OP tod.
Was stand da ist die Ursache?

Ich habe einen Splashscreen als MainForm und nach dem Laden der App, setzte ich eine art Multiframeform als Mainform und rufe Show für sie auf.
Ist das Falsch?

Delphi-Quellcode:
procedure TSplashView.LoadMainForm;
begin
  ActivityIndicator.Visible := true;
  ActivityIndicator.Enabled := true;
  fLastUpdate := TThread.Gettickcount;

  TLog.d('Loading AppViewModel Start');//Achtung: erzeugt Application.Processmessages
  anonthread.TAnonymousThread<Boolean>.create(
    Function:Boolean
    Begin
      Result := True;
      TAppViewModel.Create(application);
      TLog.d('Loading AppViewModel Finish');
    end
    ,
    Procedure(res:Boolean)
    begin
      Try
        TLog.d('Loading MasterView Start');
        Application.MainForm := TMasterForm.Create(Application);
        TLog.d('Loading MasterView Finish');//SplashView ist jetzt nicht mehr die mainform aber sichtbar, implizit wird auf der logtext auf Splashview ausgegeben und Application.preocessmessages aufgerufen
        TLog.d('Display MasterView');
        Application.MainForm.Show;
        TLog.d('Display MasterFinish');//Achtung: erzeugt Application.Processmessages
        TLog.getInstance.LogListener := nil;
        ActivityIndicator.Enabled := false;
        ActivityIndicator.Visible := false;
        Close;
      except
        on e: exception do
        Begin
          ShowSyncedMessage('Error after LoadMainForm: ' + e.message);
        end;
      end;
    end
    ,
    Procedure(E:Exception)
    Begin
      TLog.d('Error in LoadMainForm: ' + e.message); //Achtung: erzeugt Application.Processmessages
      InfoLBL.Visible := true;
      ShowSyncedMessage('Error in LoadMainForm: ' + e.message);
    end
  );
end;


procedure TSplashView.OnLogEvent(aText: String);
begin

  if TThread.CurrentThread.ThreadID <> MainThreadID then
  Begin
    TThread.Queue(TThread.CurrentThread, procedure
      Begin
        if (TThread.GetTickCount - fHangtime_Started > HANGDURATION) then
          InfoLBL.Visible := true;
        infoLBL.Text := infoLBL.Text+linefeed+aText;
      end);
  end
  Else
  Begin
    if (TThread.GetTickCount - fHangtime_Started > HANGDURATION) then
      InfoLBL.Visible := true;
    infoLBL.Text := infoLBL.Text+linefeed+aText;
    // WICHTIG ActivityIndicator wird nur animiert wenn Application.ProcessMessages läuft
    // das liegt irgendwie daran dass die Datenbankverbindung im Hauptthread läuft !
    Application.ProcessMessages;
  End
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 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