AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Android 4.2 vs 5.0+

Ein Thema von wschrabi · begonnen am 13. Apr 2016 · letzter Beitrag vom 14. Apr 2016
Antwort Antwort
Seite 1 von 2  1 2   
wschrabi

Registriert seit: 16. Jan 2005
448 Beiträge
 
#1

Android 4.2 vs 5.0+

  Alt 13. Apr 2016, 16:12
Hallo,
habe mit XE6 einen InputQuery Dialog auf Android fein hingegriegt. Doch wie ich jetzt auf Seattle und Android 5.0+ umgestiegen bin, schreibt mein Android 4.2 Tablet, dass

Dialogfelder werden blockiert ist auf dieser Plattform nicht implementiert. AUf der Android Plattform werden nur Überladungen mit TINputCloseBoxProc oder TINputCloseBoxEvent unterstützt.

Was kann ich tun? Damit wieder der INput von Strings als DIalog möglich ist?
Danke
mfg
Walter
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: Android 4.2 vs 5.0+

  Alt 13. Apr 2016, 16:48
Delphi-Referenz durchsuchenInputQuery
Zitat:
Wenn im Aufruf von InputQuery der Parameter ACloseQueryProc nicht enthalten ist, wird der Aufruf auf allen Plattformen blockiert; d. h., InputQuery kehrt erst zurück, wenn das Dialogfeld geschlossen wird. Android unterstützt keine blockierenden Aufrufe; Sie können InputQuery unter Android nur verwenden, wenn Sie den Parameter ACloseQueryProc angeben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
wschrabi

Registriert seit: 16. Jan 2005
448 Beiträge
 
#3

AW: Android 4.2 vs 5.0+

  Alt 13. Apr 2016, 20:07
Danke, aber ich habe es so probiert um nicht viel umschreiben zu müssen, aber es klappt nicht.
Weiß wer was ich falsch mache?

Delphi-Quellcode:
function TForm1.MyInputQuery(line1: string; line2: string; var invar: string): boolean;
var
   myResult:boolean;
   myVal: string;
begin

InputQuery( line1, [line2], [invar],
    procedure(const AResult: TModalResult; const AValues: array of string)
    begin
    if AResult=mrOK then
      begin
      myResult:=true;
      MyVal:=AValues[0];
      ShowMessage(' EIngabe: '+myval);
      end
    else
      begin
      myResult:=false;
      Myval:='';
      end;
    end);
    
 Result:=myResult;
 if Result then invar:=myVal else invar:='';
 
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

AW: Android 4.2 vs 5.0+

  Alt 13. Apr 2016, 21:09
Du hast die verlinkte Doku nicht genau gelesen. Code hinter dem InputQuery wird bei der nicht blockierenden Variante ausgeführt, bevor das Dialogfeld geschlossen wird.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
wschrabi

Registriert seit: 16. Jan 2005
448 Beiträge
 
#5

AW: Android 4.2 vs 5.0+

  Alt 13. Apr 2016, 21:35
Ja danke, aber ich möchte dass der Programmablauf wieder anhaltet solange keine Eingabe getätigt wurde.
Ich hab die ganze Logik darauf aufgebaut.
WIe siehts damit aus? Bin am Knoblen und um jeden Rat dankbar.

Delphi-Quellcode:
function TForm1.MyInputQuery(line1: string; line2: string; var invar: string): boolean;
var
   myResult:integer;
   myVal: string;
begin
myResult:=3;

InputQuery( line1, [line2], [invar],
    procedure(const AResult: TModalResult; const AValues: array of string)
    begin
       //repeat
          if AResult=mrOK then
            begin
            myResult:=1;
            MyVal:=AValues[0];
            ShowMessage(' EIngabe: '+myval);
            end
          else
            begin
            myResult:=2;
            Myval:='';
            end;
       //until ((AResult=mrOK) or (AResult=mrCancel));
    end);
    
 repeat
    case myResult of
      1: begin Result:=true; end;
      2: begin Result:=false; end;
      3: begin Result:=false; end;
    end;
    if Result then invar:=myVal else invar:='';
 until myresult <> 3;
 toast(' EIngabe getätigt!');
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

AW: Android 4.2 vs 5.0+

  Alt 13. Apr 2016, 21:54
Du kannst Dir beispielsweise eine Property samt Setter deklarieren. Innerhalb der anonymen Methode setzt Du dann den Wert dieser Property, damit wird dann auch der Setter durchlaufen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
wschrabi

Registriert seit: 16. Jan 2005
448 Beiträge
 
#7

AW: Android 4.2 vs 5.0+

  Alt 13. Apr 2016, 22:14
Aber wie bleibt dann der PRogrammablauf stehen, denn ich habe viele solche Abfragen:

if InputQuery('name','Name',name) and name.trim <> 'then begin ... end Ich weiß ich könnte den nachfolgenden Teil in die anym-Procedure reinschreiben, doch ich hab einen menge und will nicht viel ändern.

Am schönsten wäre es wenn man die neue MyInputQuery so machen kann, dass auch der PRogrammablauf nach Eingabe weitergeht.

So wie es in Android 4.2 auch war.

das mit der Proterty ist ja ählich der Weise, mit der Variablen in meinen Beispiel ? oder?
Schön wäre ein kleines Bsp. Dann lerne ich am schnellsten.
danke herzlich
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: Android 4.2 vs 5.0+

  Alt 13. Apr 2016, 22:18
Du musst Deine Abläufe umstellen, auch wenn Du das jetzt nicht gerne hörst. Blockierend wird von Android nicht mehr zugelassen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
wschrabi

Registriert seit: 16. Jan 2005
448 Beiträge
 
#9

AW: Android 4.2 vs 5.0+

  Alt 13. Apr 2016, 22:30
Ja das hab ich ja befürchtet, das ist viel ARbeit.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#10

AW: Android 4.2 vs 5.0+

  Alt 13. Apr 2016, 22:33
Das ist zwar bitter, aber eine andere Möglichkeit wüsste ich nicht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
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 07:38 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