Kiffi hat geschrieben:OK, ich verbuche das bei mir mal unter 'schräge Programmierung'.
Kaeru Gaman hat geschrieben:das ist auf jeden mal tausend meilen straighter programmiert als so'n schwules event senden...
Oha das ist ein klassischer Fall von "falsches Programmierparadigma angeeignet". Und zwar so richtig, von der Pike auf.
Da viele von Euch, sagen mir mal, "amused" über diesen Ansatz sind, ist das Senden einer Message wohl eher eine beknackte Idee. Ich ging davon aus, daß das eine super Idee ist.
Aber ich werde mich bewußt davon trennen und für diesen Fall einfach die selbe Prozedur von verschiedenen Stellen aus aufrufen.
Danke fürs Augen öffnen.
"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.
Kannst die Augen auch wieder schliessen. In der ereignisorientierten Programmierung
ist das senden einer Message wohl eher üblich als irgendwelche Flags, wie in der
Steinzeit nutzen zu wollen
Spätestens wenn Du das in eine Prozedure packst, mußte mit Static oder Globalen
Variablen arbeiten.
Wenn dann Threads genutzt werden, wirds mit den Flags auch unnötig kompliziert.
Im Endeffekt ist aber nur wichtig, das Du ans Ziel gelangst
das ist durchaus richtig, was ts da sagt, allerdings ist die Frage, wie man im Allgemeinen programmiert.
PureBasic ist Prozedural.
Auch wenn der EventLoop zwangsweise an die Event-Orientiertheit des OS angepasst ist, ist er dennoch grundsätzlich prozedural aufgebaut,
solange man nicht mit hundert Callbacks und Interfaces wirklich ObjektOrientiert programmiert.
Ein Event per API an ein eigenes Gadget zu senden fällt dann völlig aus dem Rahmen,
eine Procedure zu benutzen ist die Klassisch Prozedurale vorgehensweise,
ein Flag ist noch klassischer.
Man mag es Steinzeit nennen oder nicht, tatsache ist, dass zu ObjektOrientierte Denkansätze
bei Verwendung einer Prozeduralen Programmiersprache regelmäßig ins Verderben führen.
Anfänger wundern sich, warum sie nicht sehen wie ihr Sprite sich bewegt, wenn sie eine geschlossene For-Schleife bauen, usw.
wo ein in sich geschlossener Objektcode in VB seine Events ohne Probleme an die anderen Objekte weiterleitet,
bleibt PureBasic single-task prozedural und nix passiert außer dem aktuellen Step.
Sende so viele Events wie du willst, aber denk dran, dass sie nur funktionieren,
wenn du wieder an deinem einen einzigen WaitWindowEvent in der Hauptschleife vorbeikommst.
Hier stellt sich also für jeden Programmierer die Frage, "Wie sehr mag ich die unterschiedlichen Paradigmen vermischen".
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.