AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Dialoge unter IOS und Anroid _> FMX unbenutzbar ?

Dialoge unter IOS und Anroid _> FMX unbenutzbar ?

Ein Thema von arnof · begonnen am 23. Feb 2018 · letzter Beitrag vom 23. Jun 2018
Antwort Antwort
Seite 3 von 3     123
NickD

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

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?

  Alt 21. Jun 2018, 07:10
Hallo,
ich würde hier gerne nochmal das Thema aufgreifen.
Da ShowModal unter iOS nicht mehr verwendbar ist, habe ich versucht alles auf Show umzustellen.
In den meisten Fällen gelingt das auch.

Wie sieht es jedoch mit folgender Konstruktion aus(Als Beispiel):
1. Form1 ruft Form2 mit einem String-Parameter auf
2. Form2 verarbeitet den String und soll diesen verarbeiteten String, nach einem Button Klick an Form1 zurückgeben
(Unit der Form1 soll nicht in Unit der Form2 eingebunden werden, da Form2 in mehreren Formen verwendet werden soll.)

Wie bekomme ich den verarbeiteten String der Form2 nun als Ergebnis zurück?

Mit ShowModal hätte ich in der Anonymen Procedure den String ausgelesen.

Hoffe ihr könnt mir einen kurzen Denkanstoß geben

mfg Nick.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#22

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?

  Alt 21. Jun 2018, 09:37
Schreib dir doch eine Methode ShowWithCloseCallback( ACloseCallback: TProc ) und rufe diesen Callback auf, wenn die Form geschlossen wird.

Das sollte mit ein paar Zeilen Code erledigt sein.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.822 Beiträge
 
Delphi 12 Athens
 
#23

AW: Dialoge unter IOS und Anroid _> FMX unbenutzbar ?

  Alt 23. Jun 2018, 13:46
Um es mal etwas detaillierter zu erläutern:

Unit Unit2;

interface

type
TMyCallback = procedure(Sender: TObject; s: string) of Object;

TForm2 = class(TForm)
[..]
private
FMyCallback : TMyCallback;
public
procedure ShowWithCallback(Callback: TMyCallback);
end;

[..]

procedure TForm2.ShowWithCallback(Callback: TMyCallback);
begin
assert(assigned(Callback), 'Es muss ein Callback übergeben werden');
FMyCallback := Callback;
end;

Im OnClose wird es dann so aufgerufen:

FMyCallback(self, 'mein Rückgabewert');

Und Form1 braucht natürlich eine Public Methode wie folgt:

procedure TForm1.Form2ReturnCode(Sender: TObject; ReturnValue: string);

Grüße

TurboMagick
  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 06:47 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