Einzelnen Beitrag anzeigen

lxo

Registriert seit: 30. Nov 2017
148 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Formular in Grid-Event freigeben, wo dieses Grid drauf ist

  Alt 10. Mai 2021, 16:38
Ich versuche das nochmal anders zu beschreiben.

Wir haben einen Login-Screen. Nach dem Login landet man im Hauptformular. Von dort aus kann man ein Modul (nicht modal) aufrufen.

In diesem Modul ist ein Grid, in dem onKeyDown eine Prüfung auf Lizienznutzungen stattfindet. Wenn festgestellt wird, dass an der Lizenzbelegung von außerhalb manipuliert wurde, soll man zurück in den Login-Screen geworfen werden.

Ich befinde mich also im Key-Down Event des Grids von Modul-Formular. Ganz am Ende des Events schließe dieses Formular. Danach schließe ich im selben Event das Hauptformular, damit man zurück auf die Login-Maske geworfen wird.

Beim Schließen des Hauptformulars wird aber onClose das Modul-Formular mit Freeandnil freigegeben. Das KeyDown-Event des Grids scheint aber iintern noch nachgelagerte Aktionen durchzuführen, die aber fehlschlagen, weil das Fenster und das Grid dann schon nicht mehr existiert.
Wenn du im CloseEvent des Formulars das Hauptformular schließt und nicht im Event des Grids sollte es funktionieren. Siehe Beispiel das ich vorhin angehängt habe.
Im KeyDownEvent des Grids könntest du dann ja auch noch einen Merker setzen und anhand dessen dann im CloseEvent des Formulars entscheiden ob das Hauptformular mit geschlossen werden soll oder nicht.
  Mit Zitat antworten Zitat