Neuigkeiten

4D Agenda: vom Carbon-Code aus dem Jahr 2003 zum modernen macOS-Plug-in von 2026

Wir haben 4D Agenda umfassend modernisiert: Aus einem klassischen 4D-Plug-in von 2003 wurde eine saubere, stabile und moderne macOS-Codebasis, ohne die über Jahre gewachsene Funktionalität aufzugeben.

4D Agenda: vom Carbon-Code aus dem Jahr 2003 zum modernen macOS-Plug-in von 2026

4D Agenda: von 2003 CO2-Zeitalter-Code zu einem modernen 2026 macOS Plugin

Wir haben eine große Modernisierung der 4D Agenda, bringt ein klassisches 4D-Plugin von seinen Wurzeln der frühen 2000er Jahre in eine saubere, stabile, moderne macOS-Code-Basis.

Die ursprüngliche 4D Agenda-Codebase stammt aus dem Jahr 2003. Sie hatte viele Jahre lang treu gedient, trug aber auch die üblichen archäologischen Schichten: alte Zeichnungswege, verlassene Plattformzweige, klassische Mac-Annahmen und genügend historischer Kompatibilitätscode, um einen Museumskurator genehmigen zu lassen.

Das Ziel des Umschreibens war einfach zu erklären und nicht ganz so einfach auszuführen: die macOS-Version unberührt, stabil, schnell, wartbar und bereit für die nächste Generation von 4D-Anwendungen zu machen.

Was hat sich verändert?

  • Entfernt veraltete Carbon, QuickDraw, ATSUI und alte OS 9-Stil-Rendering-Annahmen.
  • Die Grafikschicht um modernes macOS-Zeichnen mit Core Graphics und Core Text neu aufgebaut.
  • Modernisierte Schriftverarbeitung, Schriftrückfall, Textmessung und Textzeichnungen.
  • Überarbeitete Tages-, Wochen- und Monatsversion für reibungslose Überzeichnungen und vorhersehbare Layout.
  • Fixed Event Dragging, Umgrößerung, Auswahl, Multiselect, Callbacks, Scrolling und Autoscroll-Verhalten.
  • Verbesserte mehrtägige Veranstaltung mit Tages-, Wochen- und Monatsansichten.
  • Es wurde ein modernes Event-Styling mit Akzentfarben, durchsichtigem Füll, verbesserter Abstand und sauberer Typografie hinzugefügt.
  • Die vollständige 4D Befehlsoberfläche wurde geprüft und die Pluginbefehle mit den Erwartungen der Demo-Datenbank ausgerichtet.
  • Hinzugefügt Native-Test-Abdeckung für Datum-Mathematik, Layout, Strings, Formatierung, Thema-Verhalten und Befehlskonsistenz.
  • Erstellt wurde ein Entwicklerhandbuch, das Befehle, Parameter, Callbacks und erwartetes Integrationsverhalten dokumentiert.

Technische Highlights

Die Codebase ist jetzt macOS-erster und deutlich sauberer. Vermächtliche plattformübergreifende Zweige wurden vom aktiven macOS-Baum entfernt. Die Windows-Version wird später separat angegangen werden, indem ein sauberer Renderer-Split verwendet wird, anstatt ein Labyrinth von Plattformkonditionen wieder einzuführen.

Das Rendering verwendet nun eine moderne Grafikabstraktion anstatt sich auf historische Zeichnungs-APIs zu verlassen. Text wird durch moderne Schriftwahl und Core Text-Zeichnung gehandhabt, die eine lange Liste von Abstürzen und Layoutproblemen beheben, die durch alte Schriftzeichen und unsichere Zeichenkettenkonversionen verursacht werden.

Das Interaktionsmodell wurde ebenfalls stark umgebaut. Das Event-Tragging aktualisiert sich nun visuell in Echtzeit, die Datenbank-Updates werden bis zur Maus-Up verschoben, und teure Callback-Arbeit blockiert kein reibungsloses UI-Feedback mehr. Im praktischen Sinne: Der Kalender fühlt sich jetzt wieder wie ein Kalender an, nicht wie eine Zeitmaschine mit einem Maus-Pointer angeschlossen.

Stabilitätsarbeit

Ein großer Teil des Umschreibens konzentrierte sich auf die Crash-Elimination. Mehrere Crash-Wege wurden durch Schriftartkonvertierung, Textzeichnungen, 4D-Callbacks, Drag/Drop-Handling, Grafikkontextnutzung, Cursor-Updates und Umzeichnungszeit zurückverfolgt. Diese Wege wurden umgeschrieben oder bewacht, so dass sich das Plugin vorhersehbar in der 4D-Host-Umgebung verhält.

Das Ergebnis ist eine viel sicherere Plugin-Architektur: weniger Roh-Legacy-Annahmen, klarere Eigentumsgrenzen, saubere C++-Module und eine bessere Verifizierung, bevor Änderungen akzeptiert werden.

Für 2026 gebaut, wobei 2003 zu berücksichtigen ist

4D Agenda gibt es schon lange genug, um sich etwas Respekt zu erwerben. Das Umschreiben wirft nicht weg, was es nützlich machte. Stattdessen hält es das bekannte 4D-basierte Befehlsmodell bei und ersetzt die zerbrechlichen Interne darunter.

Also ja, das Plugin fühlt sich immer noch wie 4D Agenda an. Es verhält sich einfach nicht mehr so, als würde es erwarten, dass ein beige Power Mac in der Nähe wartet.

Aktueller Status: Die macOS-Modernisierung befindet sich jetzt in einem späten Beta-/Release-Candidate-Territorium. Der Code baut durch den modernen CMake/CLion-Workflow sauber auf, die native Test-Suite besteht und das Plugin ist bereit für breitere reale Tests in 4D-Anwendungen.

Zurück zu den Neuigkeiten

Mehr

Ähnliche Beiträge

02.05.2026

Zehn Stunden Fehlersuche in AccountView

Softwarewartung ist manchmal überschaubar. Manchmal bedeutet sie aber zehn Stunden Fehlersuche in Visual FoxPro, alten ActiveX-Steuerelementen, temporären DBF-Dateien, verschleiertem kompiliertem Code, versteckten Viewern, abstürzenden PDF-Komponenten und einem hartnäckigen Transportmanagementsystem.

Weiterlesen

Möchten Sie mit uns zusammenarbeiten?

Nehmen Sie Kontakt auf und sprechen wir über Ihr Projekt.