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

Quick-Tipp: HiDPI und nicht-ganzzahlige Skalierungen

Dies ist wieder eine Übersetzung eines Xojo-Blogbeitrags, und sie dürfte vor allem Entwickler von Windows- und Linux-Software betreffen. Dort kann der Vergrößerungsfaktor für den Bildschirm frei gewählt werden, und es können auch „krumme“ Faktoren gewählt werden, 1,5fach zum Beispiel.

Was flexibel klingt, führt in der Praxis allerdings manchmal zu Problemen. Fließkomma-Werte sind ja immer nur Näherungswerte, und so mag es passieren, dass das Antialiasing, die Kantenglättung des Graphics-Objekts, einem sprichwörtlich einen Strich durch die Rechnung macht. Oder mehrere.

weiterlesen

Lernen & Literatur

Ein offener Brief an Lernvermittler und Lerner.*

Für Leser dieses Blogs ist es keine Neuigkeit: Ich verdiene einen Teil meines Vollkornbrots auch mit der Gestaltung klassischer Druckwerke. So habe ich momentan ein weiteres Buch der Reihe „Ein Leben lang lernen“ des geschätzten K2-Verlags vor mir, einem meiner langjährigen Kunden und eine wirklich gute Quelle hervorragender Schulmaterialien für alle, die Lernen nicht als Wissenseintrichtern begreifen.

Darin auch ein Interview mit Prof. Gerald Hüther, der klare Stellung zum Thema „frontales Lernen auf klassenweiter Schwierigkeitsstufe“ bezieht und eine Lanze zum Thema „aus Fehlern lernen“ bricht: Eigentlich lernen wir nur aus Fehlern.

weiterlesen

Entwickeln mit Fernbedienung

Xojo ist, das wurde ja schon oft genug betont, ein plattformübergreifendes Entwicklungssystem. Je nach Lizenz lässt es sich auch auf mehreren Rechnern gleichzeitig installieren, oder auf mehreren virtuellen Maschinen. Während es absolut sinnvoll sein kann, zum Herausfinden betriebssystemspezifischer Eigenarten auch mal direkt auf der Zielplattform zu testen, ist es aber nicht sehr bequem, den Programmcode jedesmal auf die gerade nötige Entwicklungsmaschine zu schieben.

weiterlesen

Alte Projekte modernisieren – Teil II

Integer- und Fließkommagrößen / Declares

Weil’s so schön und kurz war (wenn Sie nicht wissen was: Teil I nämlich!), gleich noch ein Tipp zur Modernisierung hinterher. Diesen werden Sie hauptsächlich dann beherzigen müssen, wenn ihr Code Declares verwendet – also die direkte Ansprache einer Betriebssystem- oder sonstigen Bibliothek. Das zur Illustration ausgesuchte Beispiel bezieht sich in erster Linie auf macOS, aber keine Angst: Windows- und Link-Benutzer werden auch profitieren können!

weiterlesen

Alte Projekte modernisieren – Teil I

Die böse ThreadAccessingUIException

Wenn Sie schon länger in Xojo programmieren, dann finden sich in Ihrem Code-Fundus mit großer Wahrscheinlichkeit Projekte, die heute unter einer aktuellen Xojo-Version nicht mehr laufen wollen. Oder aber Sie stolpern über ein Projekt noch aus REALBasic-Zeiten und würden es gerne einmal ausprobieren. Dann liegen auf dem Weg gerne ein paar typische Hindernisse, die ich in dieser Reihe einmal kurz beleuchten möchte.

weiterlesen

Datenbank-Entwicklung mit mehr Komfort – Teil II

Das Datenbankfeld-Textfeld – die Vorbereitungen

Dies ist der schnell hinterhergeschobene zweite Teil der Artikelreihe über komfortablere Datenbank-Anbindungen. Ohne den ersten Teil zu kennen, bleibt er wenig verständlich.

Der Vorartikel blieb im Fazit ziemlich theoretisch. Im typischen Entwicklerfall möchte man es nur seltenst bei einem Ergebnis im Debugger bewenden lassen. Viel häufiger will man damit auch irgendwas anfangen, z.B. auf dem Bildschirm. Das soll heute auch so sein. Fangen wir mit etwas Grundlegendem an: dem TextField. Und falls Sie ungeduldig sind: Am Ende des Artikels finden Sie einen Link zum Beispielprojekt!

weiterlesen