Einzelnen Beitrag anzeigen

Slipstream
(Gast)

n/a Beiträge
 
#4

AW: Bei Query1.Post Fehler: Query2 nicht im Edit- oder Insertmodus

  Alt 27. Jan 2017, 18:15
Hallo Aviator,

ich hab die Lösung doch schon gefunden: Das Beenden des OpenDialogs führt dazu, dass das im Hintergrund liegende Hauptformular den Fokus erhält und dann die Postmethode des Hauptformulars ausgelöst wird statt der Postmethode des modalen Formulars, das vorne liegt. Nachdem ich das herausgefunden habe, interessiert mich natürlich, ob das Verhalten des OpenDialogs, wenn der von einem modalen Formular aus aufgerufen wird, nach dem Schließen dieses Dialogs dem Hauptfenster den Fokus verleiht, ein Bug ist.

Im Hauptfenster wird Query2 verwendet, beim Posten im Hauptfenster wird DM.Query2.Post ausgeführt. DM ist das Datenmodul. Wenn ich im modalen Fenster am Ende der Methode mit dem OpenDialog Self.SetFocus ausführe, ist der Fehler behoben.

Es hat definitiv nichts mit irgendwelchen Zeitproblemen zu tun.

Hallo Naphets,

Editmodus wird in einer privaten Methode gesetzt, Appendmodus in der Append-Methode. Da ist alles in Ordnung. Alternativ könnte man auch Query1.State auswerten.

Wie oben schon geschrieben lag das Problem darin, dass der Opendialog beim Schließen den Fokus nicht an das aufrufende modale Formular zurückgab, sondern an das dahinterliegende Hauptformular. Mich interessiert jetzt, ob das ein Bug vom OpenDialog sein kann.

Was ich nicht verstehe: Ich hab doch in meinem ersten Post ganz oben schon geschrieben, dass ich das Problem gelöst habe, wieso versucht ihr beide trotzdem noch, das Problem zu lösen? Ich will doch nur wissen, ob hier ein Bug im OpenDialog ist.

Als Nachtrag möchte ich bemerken, dass vermutlich ich selber ein Kommunikationsproblem ausgelöst habe, weil ich vielleicht zu viel vorausgesetzt habe, das niemand erahnen kann. Das heisst, im Hauptformular befinden sich dieselben Datenbank-Bearbeitungs-Methoden wie im modalen Formular, die mit denselben Funktionstasten aufgerufen werden. Deshalb kam es dazu, dass durch den fehlerhaften Fokus nun ein Post im Hauptformular ausgelöst wurde, dessen Query gar nicht im Editirmodus war. Ich glaub, damit ist alles geklärt ausser der Frage, ob der Opendialog einen Bug hat. Jetzt mach ich erstmal Feierabend, bevor mich meine Frau umbringt.

Geändert von Slipstream (27. Jan 2017 um 19:05 Uhr) Grund: Nachtrag
  Mit Zitat antworten Zitat