Steuerung zurück zu GUI

  • Es gibt schon bestimmte Logiken, die man als Programmier anwenden und einhalten muss,

    ansonsten funktioniert das System nicht.

    Das hatte ich bei meinem Beispielskript schon angedeutet.


    Der Programmflow ist inkonsistent und deshalb ist das einfach schlechtes Programmdesign.

    MessageBoxen sind dazu da um Infos und Fehler anzuzeigen und sie anschließend wegzuklicken.


    Der Nutzer soll nach dem Wegklicken die Eingabemaske verändern und es erneut versuchen aber nicht während die MessageBox noch sichtbar ist.

    Verändert man nämlich während der aktiven MessageBox die GUI, dann bleibt die MessageBox immer noch sichtbar und der Zustand des Programms ist mehr oder weniger undefiniert.

  • Hallo entsel

    das Problem hier ist einfach dein mangelndes Verständnis, denn eigentlich wurde dir schon alles von den anderen Usern gesagt..

    Es ist sicher gut, zu versuchen mögliche Probleme im Vorhinein auszuschließen. Allerdings geht das nur bedingt gut. Du solltest mal anfangen zu programmieren. Dann wird dir vieles klarer.

    Es geht nicht darum ein GUI zu verbergen ;), sondern ihm nochmals den Focus zu geben / es nochmal aufzurufen / nochmal anzuzeigen / ihm nochmals die Programmsteuerung zu übergeben, ... (wie nennt man das?)



    Nach diesem Bsp. Code wurden dir Funktionen vorgeschlagen. Die magst du aber nicht...

    Was fehlt dir bei folgendem Code?

    Wenn dir an obigen Programm der Fokus im Hauptfenster fehlt, beschreibe bitte genau, wann er dir fehlt, und was du da gerne machen möchtest.


    Beginne bitte dich aber besser prinzipiell mit Funktionen anzufreunden (sie ermöglichen dir u.a. Code während der Laufzeit beliebig oft aufzurufen).


    Wenn du unbedingt willst, könntest du stattdessen die Gui-Erstellung tatsächlich in eine Funktion packen, die du wiederholt aufrufst. Wenn du die Gui zuvor mit GuiDelete löschst, wird sie auch nicht dupliziert.

    Andernfalls kannst du mit den GUI control update-Funktionen (wie bspw. GUICtrlSetData und andere (Siehe die Hilfe)) die GUI zu jeder Zeit in den Zustand versetzen, den du benötigst.