AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Android procedure auf ShowModal warten
Thema durchsuchen
Ansicht
Themen-Optionen

Android procedure auf ShowModal warten

Ein Thema von NickD · begonnen am 29. Jul 2015 · letzter Beitrag vom 1. Aug 2015
 
NickD

Registriert seit: 10. Okt 2012
Ort: Burgsinn
53 Beiträge
 
Delphi 10.3 Rio
 
#1

Android procedure auf ShowModal warten

  Alt 29. Jul 2015, 09:21
Hi Leute,
ich habe eine Frage zu ShowModal auf Android. Wie verwende ich es wenn ich auf eine Benutzereingabe warten möchte? Wenn ich ein Dialog in einer Procedure aufrufe, wird nicht darauf gewartet bis das Modale Fenster wieder geschlossen wurde.
Ich habe mal eine Beispiel Procedure geschrieben. In der function GetRot() sollte solange gewartet werden, bis sich das Modale Fenster wieder schließt und einen Rückgabewert hat, da sonst immer ein leerer String übergeben wird.
Wie löst man das am Besten?

Delphi-Quellcode:
procedure TfrmMain.CreateFarbe();
var
  Rot, Gruen, Blau: String;
begin
  // Buttonindex holen
  Index := (Sender as TButton).Tag;

  Rot := '';
  Gruen := '';
  Blau := '';
  l := Length('RGB');


  for i := 1 to l do
  begin
    ch := Copy('RGB', i,i);
   
    if ch = 'Rthen
    begin
      Rot := GetRot;
      if Rot = 'then
        Exit;
    end
    else if ch = 'Gthen
    begin
      Gruen := GetGruen;
      if Gruen = 'then
        Exit;
    end
    else if ch = 'Bthen
    begin
      Blau := GetBlau;
      if Blau = 'then
        Exit;
    end;
  end;
  FarbeZusammenstellen(Rot, Gruen, Blau)   
end;

function TfrmMain.GetRot: String;
var
  dlgRot: TfrmFarbauswahl;
  sRot: String;
begin
  dlgRot := TfrmFarbauswahl.Create(nil);
  dlgRot.ShowModal(
  procedure(ModalResult: TModalResult)
  begin
    if ModalResult = mrOk then
    begin
      sRot := dlgRot.lbRot.Items[dlgRot.lbRot.ItemIndex];
    end;
    if ModalResult = mrCancel then
    begin
      sRot := '';
    end;
    dlgRot.Close;
  end
  );
  Result := sRot;
end;
  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 07:23 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 by Thomas Breitkreuz