Diplomatisch delegieren

Ein Anwendungsfall aus der alltäglichen Praxis: Man hat ein Auswahl-Element, sagen wir mal ein PopupMenu, und ein Ausgabeelement – vielleicht einen Canvas –, das aufgrund der Auswahl im ersteren ein passendes Resultat zeigen soll.

DelegateWinDelegate.png

Häufig geht man dann so vor, dass der Change-Event im PopupMenu den Canvas invalidiert, und in dessen Paint-Event wird dann geschaut, was im PopupMenu steht. Eine mitunter ellenlange Select Case- oder If … ElseIf – End If-Anweisung macht den Code dann zum Roman.

weiterlesen

Mit spitzer Nadel

oder Wie funktioniert das eigentlich mit den Threads?

Ein Problem, in das man beim Programmieren mit Xojo schnell mal geraten kann, sind die tight loops – Programmschleifen, die die CPU beschäftigt halten und dafür sorgen, dass das Betriebssystem keine Zeit bekommt, Veränderungen der Grafischen Benutzeroberfläche – der GUI – anzuzeigen, weil der Programmcode ihm keine Luft gibt. Das Resultat sind die üblichen Signalisierungen des Beschäftigtseins – der bunte Beachball kreiselt auf dem Mac, unter Windows wird ein Kreis neben dem Mauszeiger angezeigt. Dumm für den Benutzer, denn er ist sich unsicher, ob wirklich noch etwas passiert oder das Programm bereits ins Datennirvana übergetreten ist.

weiterlesen

Alle schön der Reihe nach!

Heute wieder einmal ein Anwendungsfall aus der Praxis. Besonders gerne stelle ich meine Programmierarbeitskraft zur Verfügung, wenn es darum geht, Arbeitsabläufe zu analysieren und daraus ein Programm zu stricken, das mühselige manuelle Vorgänge automatisiert. Ganz ganz besonders gerne mache ich das, wenn der Auftraggeber auch einen für mein kapitalismus- und marktkritisches Gemüt positiv erscheinenden Unternehmenszweck verfolgt.

weiterlesen

Die starke schwache Referenz und ihre Zählung

Auch diesmal wieder eine Übersetzung eines XojoBlog-Beitrags, diesmal vom spanischen Kollegen Javier Rodriguez – aber auch eine Antwort auf eine mich kürzlich erreicht habende Frage zum modernisierten REALife-Projekt. Die drehte sich darum, warum ich das Fenster als Property der Board-Klasse (dem „Spielbrett“ des Game of Life-Programms) so kompliziert in eine WeakRef verpacke, anstatt es einfach als Window zu speichern.

weiterlesen