Einzelnen Beitrag anzeigen

Klapauzius

Registriert seit: 8. Feb 2018
Ort: Region Bern (Schweiz)
71 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Verständnisproblem Android synchron/asynchron

  Alt 23. Jul 2021, 09:54

Ja, viele Dialoge arbeiten in den mobilen Asyncrhron und man muß mit "Events" auf deren Antwort reagieren.
Das ist mir bekannt, aber ich beziehe mich nicht auf Dialoge, sondern auf eigene Funktionen.

Beispiel TmySettings Pseudocode

Delphi-Quellcode:
TMySettings.create;
var
  pfad: String;
  ini: TMeminifile;
begin
  pfad := System.ioutils.TPath.Combine(System.ioutils.TPath.GetHomePath, 'Settings');
  pfad := System.ioutils.TPath.Combine(pfad, 'mysettings.ini');
  if fileexists(pfad) then
  begin
    ini: TMeminifile.create(pfad, TEncoding.utf8);
    try
      FLanguage:= ini.readString('App', 'Language','english');
      FLangVers:= ini.ReadFloat('App', 'LanguageV', 0);
      ......
    finally
      ini.free;
    end;
  end
  else
  begin
    ErstelleStandardwerte; //Fülle alle Properties mit Standardwerten
    ....
  end;

  end;

Zitat:
Aber egal ob CheckInput synchron oder asynchron (Funktionsaufruf kehrt zurück, noch bevor der Nutzer was gemacht hat) ist,
das Beides macht das "gleiche", denn die Variable OK wird zur selben Zeit gesetzt, also kann es nicht unterschiedlich arbeiten.
macht es aber bei mir definitiv unter Android 32:

Pseudo Beispiel
Delphi-Quellcode:
checkinput(Email:String):boolean;
begin
  result:= system.sysutils.sametext(settings.user.email, Email);
end;
[edited]

Das perfide für mich ist ja, dass "if checkkinput then ...." bei einfachen funktionen meist synchron funktioniert, bei komplexeren Funktionen aber unter android 32 oftmals nicht. Wann genau es aber nicht funktioniert ist mir eben nicht klar.
Völlig neben den Schuhen stehe ich, da die gleichen Funktionen unter Android 64 und Android 32 oftmals anders reagieren
Albert

Geändert von Klapauzius (23. Jul 2021 um 10:14 Uhr)
  Mit Zitat antworten Zitat