Wizard Daten verifizieren



  • Hi,

    ich hab einen Wizard (CPropertyPage) erstellt, welcher drei Dialoge beinhaltet. In jedem dieser Dialoge werden Einstellungen für PC-Schnittstellen vorgenommen (z.B. der seriellen Schnittstelle).

    Wann macht es eurer Meinung am meisten Sinn, die gemachten Eingaben zu überprüfen? Wenn der User auf den Apply-Button klickt oder wenn der User von einem Dialog zum nächsten springt (OnKillActive()-Methode).

    Das Verifizieren dauert eigentlich nicht sehr lange, außer bei der Ethernet-Schnittstelle, wenn DHCP-Server gesucht werden soll für die IP etc. oder wenn eine IP im Netzwerk gesucht werden soll.

    Bei Verwendung des Apply-Buttons dachte ich, dass im Fehlerfall (Verifizierung) ein Dialog (modal) angezeigt wird mit der Fehlermeldung und anschließend die entsprechende Seite im Wizard angezeigt wird, wo dieser Fehler aufgetreten ist. Lief die Verifizierung successfull, dann wird kein Dialog angezeigt sondern man gelangt wieder ins Hauptmenue.

    Problem ist wie gesagt, dass das Pingen einer IP oder der DHCP Server sehr lange brauchen, bis man verifizieren kann ob ein DHCP Server z.b. überhaupt vorhanden ist im Netzwerk oder nicht. Hier scheint es mir fast schon sinnvoller einen Waiting-Dialog dem User anzuzeigen.

    Über Anregungen würde ich mich freuen 🙂

    Gruß
    Damian


  • Mod

    Ich würde was (zeitlich) geht sofort testen... Für was hat man sonst einen Wizard.
    Aber ich könnte mich auch mit der Methode anfreunden: Modale-Nachricht -> Sprung zu Fehlerseite.



  • Martin Richter schrieb:

    Ich würde was (zeitlich) geht sofort testen... Für was hat man sonst einen Wizard.
    Aber ich könnte mich auch mit der Methode anfreunden: Modale-Nachricht -> Sprung zu Fehlerseite.

    Danke für den Hinweis: werd die Verifizierung machen, wenn der User den Apply-Button getätigt hat, das sollte der richtige Zeitpunkt sein. Andernfalls hab ich das Problem, dass der User womöglich aus irgendwelchen Gründen einige Eingaben bereits im Wizard getätigt hat aber diese erst später bestätigt (und dann könnten diese auch nicht mehr gültig sein...).

    Die Verifizierung mache ich dann als solches stets in einem extra Thread, dann bin ich flexibel was die Dauer der Überprüfungen angeht in Bezug auf den Mainthread und dessen Erreichbarkeit für Messages etc.

    Ist die Verifizierung erfolgreich gewesen, sende ich bis jetzt eine PostMessage an das invisible Window (welches ich für das Document installiert habe), um anschließend über die jeweilige globale Variable die Änderungen durchzuführen. Alle Änderungen werden nämlich auch in einem XML File gespeichert, und dessen Zugriff wollte ich lediglich über den Mainthread zulassen, damit ich hier keine Synchronisierungen etc. benötige.

    DHCP etc. werd ich versuchen so ähnlich wie im Windows System zu lösen. Irgendein kleines Icon platzieren, welches angibt ob Netzwerk vorhanden ist oder nicht.

    Gruß
    Damian


Anmelden zum Antworten