Aber wo ich schon am abnerven bin, habe ich noch ein
klitzekleines Problemchen, dessen Lösung Dir bestimmt keine
Schwierigkeiten bereiten dürfte:
Was sind Schwierigkeiten?? )
ich habe eine MDI-Anwendung und benötige ein Popup-Fenster.
Der Grund ist, dass ich einen Datensatz angelegt habe und dem
User die Möglichkeit geben möchte, die Daten eventuell zu
korrigieren. Es wird also eine Prozedur durchlaufen, welche
den „Insert“ abarbeitet und danach sollte das Fenster
erscheinen. Das Problem ist nun, daß die Prozedur erst
vollständig abgearbeitet wird und danach das Fenster angezeigt
wird.
Wie jetzt?? Soll der Insert (also eigentlich der Post) gemacht werden oder soll der User vorher nochmal korrigieren?
Eine Lösung wäre natürlich ein
modales Formular, das ist natürlich nicht möglich dank MDI.
-)))) Irgendwann scheint jeder Entwickler an diesem Punkt zu gelangen. Beim mir war es vor ca. 2 Monaten. Meine Lösung: weg von MDI!
Wenn Du’s trotzdem damit machen willst und ich Dich richtig verstanden habe hilft Dir vielleicht das hier weiter:
Der User klickt auf den Button Speichern. Als einzige Anweisung in der OnClickProc steht der Aufruf des PopUp. Dort kann der User dann nochmal korrigieren. Anschließend drückt der nochmal auf Speichern (im PopUp) und das Ding wird mit Post abgeschlossen. Das funzt nur so einfach mit einem selbstgestrickten DBNavigator (also einfach Buttons, die dessen Funktion übernehmen), ich weiß nicht, wie man eine Aktion im DBNavigator abbricht und auf eine eigene Proc umleitet.
Als weitere Alternative bietet sich an, die Post-Procedure komplett ablaufen zu lassen und in das AfterPost Ereignis Deiner Datenkompo den Aufruf des PopUps zu erledigen. Den falschen Zeigerstand mußt Du dann eben mit einem Locate o.ä. wieder richtigstellen.
Also vor dem Post die ID merken, Post durchführen. Mit dem AfterPost wird das PopUp aufgerufen diesem die ID übergeben, Datensatz suchen und in den Edit-Modus gehen.
Hoffe Dich nicht vollständig verwirrt zu haben!
Wolfgang