Bjr à vous,

Le calvaire du dev FMX Android continue

Ici, je veux utiliser un truc extrêmement complexe segment utilisateur:

Nom : dlgQuestionYesNo.jpg
Affichages : 528
Taille : 10,2 Ko

qui devrait se coder en une ligne

Bon, çà ne marche pas tout à fait comme çà ... Ce code ne fonctionne pas

C'est quant même incroyable la difficulté de développer pour Android !!! Des choses aussi basiques nécessitent des dizaines de lignes de code là ou la VCL n'en requiert qu'une seule

Je vous invite à lire L'imposture informatique , de François de Closets et Bruno Lussato, 2000.

Il y a vingt ans naissait la micro-informatique. Depuis lors, si elle a fait des progrès stupéfiants, il nous faut bien constater que les ordinateurs sont toujours chers, de plus en plus compliqués, de plus en plus lents, de moins en moins fiables. Est-ce normal ? Pourquoi nous faudrait-il subir tous ces ennuis comme une fatalité ou nous convaincre que nous en sommes responsables ? Pourquoi les entreprises devraient-elles continuer à s'équiper en matériels surpuissants, inadaptés à leurs besoins réels ? Pourquoi supporter cette imposture ?


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
 
unit unitAndroidDialogs;
interface
uses
  Classes
  , System.SysUtils
  , System.UITypes
  , FMX.Dialogs
  , FMX.DialogService
  , FMX.Platform
  ;
function GHTopoQuestionOuiNon(const Msg: string): boolean;
 
implementation
var 
  // Variable semi globale qui est modifiée par QProcYes()
  FLastYesNoQuestion: boolean; 
 
procedure QProcYes();
begin
  FLastYesNoQuestion := True; // 
end;
 
procedure QProcNo();
begin
   FLastYesNoQuestion := false;
end;
 
procedure QGHtopoDlgYesNo(const msg: string; const ProcYes, ProcNo: TProcedure);
begin
  FLastYesNoQuestion := false;
  MessageDlg(Msg, System.UITypes.TMsgDlgType.mtInformation, [System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
  procedure(const AResult: TModalResult)
  begin
    case AResult of
      mrYes: ProcYes();
      mrNo : ProcNo();
    end;
  end);
end;
 
function GHTopoQuestionOuiNon(const Msg: string): boolean;
begin
  QGHtopoDlgYesNo(Msg, QProcYes, QProcNo);
  Result := FLastYesNoQuestion;
end;
 
procedure GHTopoMsgBox(const Msg: string);
begin
  ShowMessage(Msg);
end;
 
initialization
  FLastYesNoQuestion := false;
end.