Frage

Wenn ich einen Opendialog aus meinem Formular auf Buttonclick -Ereignis anrufe. Der Dialog wird nicht als Modal angezeigt und wird auch in der Taskleiste angezeigt (in WindowsXP). Ich kann zum Hauptformular zurückkehren und immer wieder öffnen - auf einmal aufzuheben.

Wie mache ich einen Opendialog, um in Fironemonkey modal zu sein? Ist es speziell so hergestellt, dass aufgrund einer Multi-Plattform-Keime von FM keine modalen Dialoge zulässig sind?

BEARBEITEN: Der Fehler ist in Update 3 behoben.

War es hilfreich?

Lösung

Ich denke, es ist ein Fehler. Es gibt viele Modal -Fehler mit Fironemonkey, und hoffentlich werden sie sie bald reparieren. Derzeit sind sogar modale Formen nicht modal.

Für Ihr Problem habe ich eine Problemumgehung für Windows, aber Sie mögen es vielleicht nicht.

Sie müssen die folgende Zeile in der Methode tPlatformwin.dialogopenFiles () in fmx.platform.win reparieren.

Unter with OpenFile do Rückgeld:

hwndOwner := 0;

Dazu:

hWndOwner := FmxHandleToHWND(Application.MainForm.Handle);

Die Funktion verwendet die Fenster GetOpenFileName API -Anruf, obwohl es auf Vista und darüber veraltet ist. Wenn ein Eigentümerhandel eingegeben wird, ist das Dialog modal, sonst nicht.

Möglicherweise möchten Sie dies als Fehler an qc.embarcadero.com zusammen mit der Problemumgehung senden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top