Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Hauptanwendung unterbrechen bis geöffnetes Fenster eine Eingabe zurückgibt (https://www.delphipraxis.net/202168-hauptanwendung-unterbrechen-bis-geoeffnetes-fenster-eine-eingabe-zurueckgibt.html)

sebdelphiuser 4. Okt 2019 16:56

Hauptanwendung unterbrechen bis geöffnetes Fenster eine Eingabe zurückgibt
 
Hallo zusammen,

wie kann ich mein geschriebenes Programm solange unterbrechen, bis eine Information von dem neu geöffneten Fenster, zurückgegeben wird?

Hintergrund: Ich schreibe gerade eine kleine Lagerverwaltung. Der Benutzer soll den QR Code an der Kiste des Lieferanten abscannen. In diesem befindet sich die Fremdartikelnummer. Diese ist in unserem System hinterlegt. Anhand dieser kann ich unsere Artikelnummer herausfinden und die Kiste einbuchen.
Wenn keine Verknüpfung vorhanden ist soll der Benutzer dem Programm mitteilen um welchen Artikel es sich handelt: Ein neues Fenster öffnet sich wo er eine manuelle Eingabe vornehmen kann bzw. aus allen Artikeln oder allen offenen Bestellungen wählen kann.
Diese Information möchte ich den "Hauptfenster" dann mitteilen, die Routine dort muss jedoch so lange "warten".

Wie kann ich das bewerkstelligen?

Lemmy 4. Okt 2019 17:04

AW: Hauptanwendung unterbrechen bis geöffnetes Fenster eine Eingabe zurückgibt
 
ShowModal:
http://docwiki.embarcadero.com/Libra...Form.ShowModal

Bernhard Geyer 4. Okt 2019 17:11

AW: Hauptanwendung unterbrechen bis geöffnetes Fenster eine Eingabe zurückgibt
 
Zitat:

Zitat von Lemmy (Beitrag 1449108)

Zitat:

... QR Code an der Kiste des Lieferanten absc
Hört sich nach Mobilen System und FMX an.
Und sind diese dort nicht BÖSE?

http://docwiki.embarcadero.com/Libra...Form.ShowModal

Incocnito 7. Okt 2019 07:14

AW: Hauptanwendung unterbrechen bis geöffnetes Fenster eine Eingabe zurückgibt
 
Wie Teal'C aus Stargate immer sagte: "In der Tat!" ...
Ich habe mich zu Anfang lange herumgequält mit ShowModal, da ich sonst viel
damit gearbeitet hatte, aber bei FMX klappte das auch bei mir nicht so recht.
Ich bin dann dazu übergegangen an das aufgerufene Fenster eine Methode
vom aufrufenden Fenster zu übergeben, welches aufgerufen wird, wenn das aufgerufene
Fenster geschlossen wird. (Viel"aufgerufen" in dem Satz!)
Für die restliche Zeit habe ich dann das Fenster deaktiviert (Enabled := False).
Vielleicht hilft dir dieser Gedankenansatz oder jemand kommt mit einer vernünftigen Lösung daher.

Liebe Grüße
Incocnito

Uwe Raabe 7. Okt 2019 09:04

AW: Hauptanwendung unterbrechen bis geöffnetes Fenster eine Eingabe zurückgibt
 
Zitat:

Zitat von Incocnito (Beitrag 1449216)
Ich bin dann dazu übergegangen an das aufgerufene Fenster eine Methode
vom aufrufenden Fenster zu übergeben, welches aufgerufen wird, wenn das aufgerufene
Fenster geschlossen wird.

Dazu gibt es ja gerade das überladene ShowModal, dem man eine anonyme Methode mitgibt. Diese wird dann im DoClose aufgerufen.´
Delphi-Quellcode:

procedure ShowModal(const ResultProc: TProc<TModalResult>); overload;
Intern wird sogar unterschieden, ob das Zielsystem ein modales Fenster erlaubt oder nicht (z.B. Android) und entsprechend verfahren.

sebdelphiuser 15. Okt 2019 09:00

AW: Hauptanwendung unterbrechen bis geöffnetes Fenster eine Eingabe zurückgibt
 
Hallo zusammen,

es hat bei mir etwas gedauert, bis ich mich wieder dem Thema widmen konnte. ShowModal ist genau dass, was ich gesucht habe. Vielen Dank für eure Antworten.:thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 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