Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
In dem Beispiel ja. In einem richtigen Programm kann es gut sein dass die verschiedenen Fenster Informationen austauschen. Wenn z.B. eines der Fenster ein Options-Dialog ist in dem der Benutzer 20 Variablen verändern kann, müssen diese Variablen auch in einem oder mehreren der anderen Fenster zugänglich sein, in denen die vom Benutzer gesetzten Werte dann verwendet werden.
Kurzer hat geschrieben:Wo siehst Du da Gefahren oder Probleme?
Ich sehe das Problem darin, dass bei zu vielen globalen Variablen die Übersichtlichkeit und damit auch die Wartbarkeit nicht mehr gut ist. Die vermeintlich bessere Übersichtlichkeit durch Prozeduren kann sich dadurch IMHO ins Gegenteil verkehren.
Little John hat geschrieben:Ich sehe das Problem darin, dass bei zu vielen globalen Variablen die Übersichtlichkeit und damit auch die Wartbarkeit nicht mehr gut ist. Die vermeintlich bessere Übersichtlichkeit durch Prozeduren kann sich dadurch IMHO ins Gegenteil verkehren.
Und wie löst Du diese Problematik?
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?" PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520 Useralter in 2024: 56 Jahre.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Kurzer hat geschrieben:Und wie löst Du diese Problematik?
Wenn man es so macht wie in Kaeru Gamans Code hier im ersten Beitrag, dann entsteht das beschriebene Problem mit den globalen Variablen nicht. Daher gefällt mir diese Methode am besten.
EasyVENT, ein paar eigene Callbacks und das EventLoop von PB bleibt übersichtlich, da fast leer
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Little John hat geschrieben:... und unter Linux kuckt man in die Röhre.
Bei den max. 5% wo eine plattformunabhängige Version überhaupt einen
Sinn macht, kann man dies doch Vernachlässigen. Die Eventhandler der
LinuxAPI machen doch EasyVENT überflüssig.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.