AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Rendern der Szene für TContextIOS kann nicht begonnen werden
Thema durchsuchen
Ansicht
Themen-Optionen

Rendern der Szene für TContextIOS kann nicht begonnen werden

Ein Thema von Harry Stahl · begonnen am 1. Mär 2019 · letzter Beitrag vom 17. Apr 2019
 
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.999 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 17. Apr 2019, 13:12
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;
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (17. Apr 2019 um 13:21 Uhr)
  Mit Zitat antworten Zitat
 


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:07 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