Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   asynchrone Dialoge (https://www.delphipraxis.net/209604-asynchrone-dialoge.html)

Rollo62 30. Dez 2021 09:16

AW: asynchrone Dialoge
 
Zitat:

Zitat von tbathelt (Beitrag 1499780)
Das ganze funktioniert zwar wie gewünscht, ist aber fürchterlicher Programmierstil - nur ist mir halt eben bislang dazu nix Besseres eingefallen.

Also generell, wenn man Code in der anonymen Prozedur schreibt,
dann ist alles schön beim Aufrufer zusammengefasst, und nicht über die ganze Unit verstreut.
Deshalb finde ich das eigentlich sehr aufgeräumten Code (sieht nur etwas unelegant aus, auf den ersten Blick).
Natürlich sollte man nicht zu viel darin machen, und man könnte weitere Aufgaben per Message anstossen.
Delphi-Quellcode:
...
begin
    if ARes=mrOk then
    begin
       ...
       MacheHierWas;
       ...
    end
    else
    begin
       ...
       MacheHierWasAnderes;
       ...
    end;
  end);

Olli73 30. Dez 2021 09:33

AW: asynchrone Dialoge
 
Zitat:

Zitat von himitsu (Beitrag 1499810)
Zitat:

Delphi-Quellcode:
    xProc;
  end);

Diese Endlosschleife funktioniert wirklich gut. :stupid:

Er hat doch eine Abbruchbedingung drin, schön mit globaler Variable und goto ???

tbathelt 30. Dez 2021 10:22

AW: asynchrone Dialoge
 
Der etwas holperige Code lässt immerhin einen halbwegs linearen Ablauf der Prozedur "xyz" zu, unabhängig davon wie oft der Eingabedialog "xInput" aufgerufen wird. Außerdem kann durch die parameterisierte Rücksprungadresse in "xInput" dieser Eingabedialog bei Bedarf auch von verschiedenen anderen Prozeduren aufgerufen werden.

... und nochmal, obwohl Olli73 es schon geschrieben hat, es ist definitiv keine Endlosschleife !!!

Rapunzel 30. Dez 2021 10:46

AW: asynchrone Dialoge
 
Zum dem Thema ein alternativer Vorschlag.

Ich beschäftige mit erst seit kurzem mit dem FMX Framework und bin durch das Buch von Andrea Magni auf die Komponente TFormStand aufmerksam geworden. Damit lassen sich mit ein wenig Tricksen eigene quasi modale Formulare mit beliebigen Design, Größe und Position realisieren. Der Rest der App kann ebenfalls mit einem Lighbox Effekt abgedunkelt werden. Wird ein Bereich außerhalb des "modalen Dialogs" angetippt, wird dieser nicht automatisch geschlossen. Den Rest der App benachrichtige ich generell über den Messagemanager mit Sendmessage und eigenen Botschaften.

Olli73 30. Dez 2021 13:40

AW: asynchrone Dialoge
 
Zitat:

Zitat von Rapunzel (Beitrag 1499831)
Zum dem Thema ein alternativer Vorschlag.

Ich beschäftige mit erst seit kurzem mit dem FMX Framework und bin durch das Buch von Andrea Magni auf die Komponente TFormStand aufmerksam geworden. Damit lassen sich mit ein wenig Tricksen eigene quasi modale Formulare mit beliebigen Design, Größe und Position realisieren. Der Rest der App kann ebenfalls mit einem Lighbox Effekt abgedunkelt werden. Wird ein Bereich außerhalb des "modalen Dialogs" angetippt, wird dieser nicht automatisch geschlossen. Den Rest der App benachrichtige ich generell über den Messagemanager mit Sendmessage und eigenen Botschaften.

Aber das Problem ist doch dass showmessage nicht blockierend ist, sprich der Code an der Stelle nicht angehalten wird bis das Formular geschlossen wird!?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz