Neuigkeiten

4D Agenda: vom Carbon-Code aus dem Jahr 2003 zum modernen macOS-Plugin für 2026

Wir haben 4D Agenda grundlegend modernisiert und das klassische Plugin aus den frühen 2000er-Jahren in eine saubere, stabile und moderne macOS-Codebasis überführt. Der ursprüngliche Code stammt etwa aus dem Jahr 2003 und hatte viele Jahre zuverlässig gearbeitet, brachte aber alte Zeichenroutinen, überholte Plattformzweige, klassische Mac-Annahmen und umfangreichen historischen Kompatibilitätscode mit.

4D Agenda: vom Carbon-Code aus dem Jahr 2003 zum modernen macOS-Plugin für 2026

4D Agenda: vom Carbon-Code aus dem Jahr 2003 zum modernen macOS-Plugin für 2026

Wir haben 4D Agenda grundlegend modernisiert und das klassische 4D-Plugin aus seinen Ursprüngen der frühen 2000er-Jahre in eine saubere, stabile und moderne macOS-Codebasis überführt.

Die ursprüngliche Codebasis von 4D Agenda stammt etwa aus dem Jahr 2003. Sie hat viele Jahre zuverlässig gearbeitet, trug aber auch die üblichen historischen Schichten mit sich: alte Zeichenroutinen, überholte Plattformzweige, Annahmen aus der klassischen Mac-Welt und genug Kompatibilitätscode, um einen Museumskurator anerkennend nicken zu lassen.

Das Ziel der Neuentwicklung war leicht zu formulieren und deutlich schwieriger umzusetzen: Die macOS-Version sollte sauber, stabil, schnell, wartbar und für die nächste Generation von 4D-Anwendungen vorbereitet sein.

Was sich geändert hat

  • Veraltete Carbon-, QuickDraw- und ATSUI-Technik sowie Annahmen aus der Darstellung unter OS 9 wurden entfernt.
  • Die Grafikschicht wurde mit Core Graphics und Core Text auf moderner macOS-Zeichentechnik neu aufgebaut.
  • Schriftverwaltung, Ersatzschriften, Textvermessung und Textdarstellung wurden modernisiert.
  • Die Tages-, Wochen- und Monatsdarstellung wurde für flüssigeres Neuzeichnen und ein berechenbares Layout überarbeitet.
  • Das Verschieben und Vergrößern von Terminen, Auswahl und Mehrfachauswahl, Rückrufe, Scrollen und automatisches Scrollen wurden korrigiert.
  • Die Darstellung mehrtägiger Termine in Tages-, Wochen- und Monatsansichten wurde verbessert.
  • Moderne Termingestaltung mit Akzentfarben, durchscheinenden Flächen, besseren Abständen und klarerer Typografie wurde ergänzt.
  • Sämtliche 4D-Befehle wurden geprüft und mit den Erwartungen der Demodatenbank abgeglichen.
  • Native Tests für Datumsberechnungen, Layout, Zeichenketten, Formatierung, Designverhalten und Befehlskonsistenz wurden hinzugefügt.
  • Ein Entwicklerhandbuch dokumentiert Befehle, Parameter, Rückrufe und das erwartete Integrationsverhalten.

Technische Besonderheiten

Die Codebasis ist nun vorrangig auf macOS ausgerichtet und deutlich aufgeräumter. Alte plattformübergreifende Zweige wurden aus dem aktiven macOS-Code entfernt. Die Windows-Version werden wir später getrennt angehen, mit einer klaren Trennung der Renderer statt einem erneuten Geflecht aus Plattformbedingungen.

Die Darstellung verwendet jetzt eine moderne Grafikabstraktion statt historischer Zeichen-APIs. Text wird mit moderner Schriftauswahl und Core Text gezeichnet. Das behebt zahlreiche Abstürze und Layoutprobleme, die durch alte Schriftkennungen und unsichere Zeichenkettenkonvertierungen verursacht wurden.

Auch das Interaktionsmodell wurde umfassend neu aufgebaut. Beim Verschieben eines Termins aktualisiert sich die Darstellung in Echtzeit. Datenbankänderungen erfolgen erst beim Loslassen der Maustaste, und aufwendige Rückrufe blockieren die flüssige Rückmeldung der Oberfläche nicht mehr. Praktisch fühlt sich der Kalender damit wieder wie ein Kalender an — nicht wie eine Zeitmaschine mit Mauszeiger.

Arbeit an der Stabilität

Ein großer Teil der Neuentwicklung galt der Beseitigung von Abstürzen. Wir verfolgten mehrere Absturzpfade durch Schriftkonvertierung, Textdarstellung, 4D-Rückrufe, Drag-and-Drop-Verarbeitung, Grafikkontexte, Mauszeigeraktualisierungen und den Zeitpunkt des Neuzeichnens. Diese Pfade wurden neu geschrieben oder abgesichert, damit sich das Plugin innerhalb der 4D-Hostumgebung berechenbar verhält.

Das Ergebnis ist eine deutlich sicherere Plugin-Architektur: weniger ungeprüfte Altannahmen, klarere Verantwortungsgrenzen, übersichtlichere C++-Module und gründlichere Prüfungen vor der Übernahme von Änderungen.

Für 2026 entwickelt, mit Respekt vor 2003

4D Agenda hat sich über viele Jahre bewährt. Die Neuentwicklung bewahrt, was es nützlich gemacht hat. Das vertraute Befehlsmodell für 4D bleibt erhalten, während die anfälligen Interna darunter ersetzt werden.

Das Plugin fühlt sich also weiterhin wie 4D Agenda an. Es verhält sich nur nicht mehr so, als stünde irgendwo noch ein beigefarbener Power Mac bereit.

Aktueller Stand: Die modernisierte macOS-Version befindet sich in der späten Beta- beziehungsweise Release-Candidate-Phase. Der Code lässt sich mit dem modernen CMake-/CLion-Workflow fehlerfrei kompilieren, die native Testsuite besteht, und das Plugin ist bereit für breitere Praxistests in 4D-Anwendungen.

Zurück zu den Neuigkeiten

Mehr

Ähnliche Beiträge

02.05.2026

Zehn Stunden Fehlersuche in AccountView

Manchmal ist Softwarewartung eine überschaubare, planbare Aufgabe. Und manchmal bedeutet sie zehn Stunden mit Visual FoxPro, älteren ActiveX-Steuerelementen, temporären DBF-Dateien, unleserlichem kompiliertem Code, versteckten Betrachtern, abstürzenden PDF-Komponenten und einem ausgesprochen hartnäckigen Transportmanagementsystem, das seine Fehler nicht erklären will.

27.04.2026

Dokumentanzeige in FoxPro

Ein schneller Dokumentbetrachter für bestehende FoxPro-Anwendungen — ohne dass die Hostanwendung dafür zuerst modernisiert werden muss.

Möchten Sie mit uns zusammenarbeiten?

Nehmen Sie Kontakt mit uns auf, damit wir Ihr Projekt besprechen können.