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