Modernize Studio
Sprache: DE
E‑Mail schreiben

Delphi-Anwendungen, ins Web migriert

Delphi war in den 1990er- und 2000er-Jahren eine gängige Wahl für Unternehmenssoftware, und viele dieser Programme sind noch täglich im Einsatz, oft mit Paradox- oder dBase-Tabellen, die über die BDE gelesen werden. Wir migrieren sie zu Webanwendungen auf einer SQL-Datenbank, mit denselben Daten und Regeln, damit Sie keine haargenau eingerichteten PCs mehr brauchen, um sie zu betreiben.

Warum jetzt

Embarcadero, das Delphi heute weiterentwickelt, hat die Borland Database Engine als veraltet eingestuft. Laut Dokumentation wird die BDE nicht mehr verbessert, wird nie Unicode unterstützen und soll nicht für neue Entwicklungen verwendet werden. Empfohlen wird der Umstieg auf FireDAC. Trotzdem lesen und schreiben die meisten älteren Delphi-Programme ihre Paradox- oder dBase-Tabellen noch über sie.

Die BDE wurde für 32-Bit-Windows und für die Dateifreigabe im lokalen Netzwerk entwickelt. Paradox-Tabellen auf einem Netzlaufwerk hängen von Sperrdateien und BDE-Einstellungen ab, die auf jedem PC identisch sein müssen, und wenn ein Rechner sie falsch hat, können Tabellen und Indizes beschädigt werden. Jeder neue PC und jeder Wechsel auf eine neue Windows-Version ist eine weitere Installation, die von Hand eingerichtet werden muss.

  1. Windows 10Ende des Microsoft-Supports

Was wir migrieren

Das Programm und die Datendateien, von denen es abhängt, in welchem Zustand sie auch sind.

  • Formulare und datensensitive Steuerelemente

    Formulare aus .dfm-Dateien mit TDBGrid, TDBEdit, TDBLookupComboBox und Master-Detail-Ansichten. Sie werden zu Webseiten mit denselben Feldern und demselben Arbeitsablauf.

  • Paradox-, dBase- und InterBase-Daten

    Über die BDE gelesene Tabellen oder Datenbanken wie InterBase, Firebird, SQL Server und Oracle. Wir übertragen die Daten nach SQL Server oder MySQL und behalten Schlüssel, Indizes und Beziehungen bei.

  • Datenmodule und Geschäftslogik

    Code in TDataModule-Units, in Dataset-Ereignissen wie BeforePost und OnCalcFields sowie in berechneten Feldern und Nachschlagefeldern. Wir bündeln diese Regeln in serverseitigen Diensten.

  • Berichte

    Layouts aus QuickReport, ReportBuilder, Rave Reports oder FastReport, auch solche mit Code in ihren Ereignissen. Sie werden zu PDF-Dokumenten mit demselben Inhalt.

  • Komponenten von Drittanbietern

    Tabellen, Editoren und Hilfsmittel aus Paketen wie DevExpress, TMS, InfoPower oder RxLib, oft an eine einzige Delphi-Version gebunden. Wir prüfen, welche Funktionen das Programm tatsächlich nutzt.

  • Importe, Exporte und geplante Aufgaben

    Austausch von Text- und CSV-Dateien mit anderen Systemen, Exporte für den Steuerberater und Programme, die über die Windows-Aufgabenplanung starten. Sie werden zu geplanten Aufgaben auf dem Server.

So sieht die Web-Version aus

Anschauungsbeispiel, erfundene Daten

Ein Lagerprogramm, wie es in Delphi unter Windows XP aussehen könnte, und dieselben Daten in einer Webanwendung.

Ziehen Sie den Regler oder nutzen Sie die Pfeiltasten.

Was woraus wird

In Delphi: Formulare (.dfm) und Units (.pas)
In der Webanwendung: Webseiten, mit der Logik auf dem Server
In Delphi: Paradox- oder dBase-Tabellen über die BDE
In der Webanwendung: SQL Server oder MySQL, mit Schlüsseln und Beziehungen
In Delphi: Berechnete Felder und Nachschlagefelder
In der Webanwendung: Berechnungen und Joins in der Datenbank oder den Diensten
In Delphi: BDE-Aliase und Einstellungen auf jedem PC
In der Webanwendung: Eine Verbindung, auf dem Server eingerichtet
In Delphi: QuickReport- oder FastReport-Layouts
In der Webanwendung: PDF-Dokumente, erzeugt vom Server
In Delphi: Ein Netzlaufwerk für alle
In der Webanwendung: Gleichzeitiger Zugriff, von der Datenbank geregelt

So läuft die Migration ab

  1. Analyse innerhalb von 48 Stunden

    Sie schicken uns das Programm mit seinem Datenordner (Paradox- oder dBase-Dateien oder eine Datenbanksicherung), dazu den Quellcode (.dpr, .pas, .dfm), falls vorhanden. Innerhalb von 48 Stunden erhalten Sie einen schriftlichen Bericht: was das Programm heute leistet, wo die Risiken liegen, wie die Web-Version aufgebaut wäre, einen Festpreis für ein Pilotmodul und eine Schätzung für den Rest. Die Analyse ist kostenlos und verpflichtet Sie zu nichts.

  2. Pilotmodul

    Wir bauen einen Teil der Anwendung auf einer Kopie Ihrer echten Daten, meist den Teil, der am häufigsten genutzt wird. Ihre Mitarbeiter arbeiten damit im Alltag, bevor Sie über den Rest entscheiden.

  3. Automatische Vergleichstests zwischen Alt und Neu

    Wir schicken dieselben Datensätze durch das Delphi-Programm und die neue Anwendung und vergleichen Bestände, Summen und gedruckte Belege. Für jede Regel, die wir finden, gibt es einen automatischen Test, der dem alten Programm und der neuen Anwendung dieselben Eingaben gibt und prüft, ob die Ergebnisse übereinstimmen. Sie erhalten die Testergebnisse.

  4. 30 Tage Parallelbetrieb

    Wenn die vollständige Anwendung fertig ist, bleibt das Delphi-Programm 30 Tage lang parallel in Gebrauch. Jede Abweichung zeigt sich, solange das alte Programm noch da ist, und wir beheben sie im Rahmen des vereinbarten Preises.

Typische Stolperstellen und wie wir damit umgehen

  1. Wie sich BDE und Paradox verhalten

    Paradox-Tabellen hängen von Sperrdateien, einer gemeinsamen Netzwerk-Steuerdatei (PDOXUSRS.NET) und BDE-Einstellungen wie LOCAL SHARE ab, die auf jedem PC übereinstimmen müssen. Beschädigte Indizes und Fehler wie „Table is busy“ sind häufig. Vor der Migration reparieren wir, was sich reparieren lässt, und melden Ihnen die Datensätze, die nicht lesbar sind.

  2. Zeichenkodierung

    Die BDE speichert Text in einer Codepage, die der Sprachtreiber der Tabelle festlegt, während Delphi 2009 und neuer mit Unicode-Strings arbeiten. Umlaute, ß und Sonderzeichen sind die Stellen, an denen eine Migration am häufigsten danebengeht. Wir prüfen daher die Kodierung jeder Tabelle und vergleichen mit Ihnen Stichproben des umgewandelten Textes.

  3. Logik in Dataset-Ereignissen

    Regeln in BeforePost, OnValidate oder OnCalcFields laufen still bei jedem Speichern oder Anzeigen eines Datensatzes ab und werden leicht übersehen, wenn man nur die Formulare betrachtet. Wir durchsuchen den Code nach jedem Ereignis-Handler und listen die Regeln auf, die er durchsetzt.

  4. Berechnete Felder und Nachschlagefelder

    Felder, die nur im Programm existieren und nicht in den Tabellen, erscheinen auf dem Bildschirm und in Berichten wie gespeicherte Daten. Wir bilden sie als berechnete Werte nach und prüfen sie gegen die Originale.

  5. Komponenten ohne Quellcode

    Manche Drittanbieter-Pakete wurden als kompilierte Units für nur eine Delphi-Version gekauft. Nutzt das Programm eines davon für eine Berechnung und nicht nur zur Anzeige, rekonstruieren wir das Verhalten aus den Ergebnissen und bestätigen es in den Vergleichstests.

  6. Datums- und Zahlenformate

    Datumsfelder in Paradox und dBase, vor langer Zeit eingegebene zweistellige Jahreszahlen und Dezimaltrennzeichen, die von den Windows-Ländereinstellungen abhängen, brauchen beim Wechsel in eine SQL-Datenbank eine ausdrückliche Behandlung. Wir listen die beim Import gefundenen Auffälligkeiten auf und klären sie mit Ihnen.

Preis und Zahlung

Analyse

Kostenlos

schriftlich, innerhalb von 48 Stunden

Pilotmodul

1.000–1.500 €

meist, zu 50 % bei Beginn und zu 50 % nach Abnahme

Die Analyse ist kostenlos. Wenn Sie sich gegen das Projekt entscheiden, behalten Sie den Bericht und schulden uns nichts.

Die Preise sind fest und werden vor Projektbeginn schriftlich vereinbart. Ändert sich der Umfang, schicken wir ein neues schriftliches Angebot und warten auf Ihre Freigabe, bevor wir die zusätzliche Arbeit erledigen.

Bei einer kompletten Migration wollen wir 40 bis 60 % unter dem üblichen Angebot einer Agentur liegen. Das ist möglich, weil wir ein kleines Studio sind, ohne teure Büros und ohne Vertriebsabteilung.

Preise zzgl. MwSt.

Zur Preisschätzung

Eine echte Migration, durch Tests belegt

Northwind ist die Beispieldatenbank, die Microsoft mit Access ausgeliefert hat, kein Kunde von uns. Wir haben eine öffentliche Kopie zu SQLite und PostgreSQL migriert, jede Tabelle und jede Abfrage mit automatischen Tests gegen das Original geprüft und auf dem Ergebnis eine funktionierende Webanwendung gebaut. Die Fallstudie nennt die Zahlen, der Äquivalenzbericht führt jede Prüfung auf.

Northwind ist eine Access-Datenbank, bei Delphi gehen wir aber genauso vor: migrieren, gegen das Original testen, beides parallel betreiben.

Äquivalenzbericht (auf Englisch) · Klickbare Vorschau und Beispielanalyse (Demo)

Häufige Fragen

Unser Delphi-Programm nutzt Paradox-Tabellen auf einem Netzlaufwerk. Können Sie die Daten migrieren?

Ja. Wir lesen die Paradox- oder dBase-Dateien direkt, überführen sie nach SQL Server oder MySQL und vergleichen Datensatzanzahl und Summen vorher und nachher. Beschädigte Datensätze melden wir Ihnen, statt sie stillschweigend zu verwerfen.

Könnten wir nicht einfach auf eine neuere Delphi-Version umsteigen?

Das ist eine Möglichkeit, und für manche Programme die vernünftigste: Die Anwendung bleibt ein Windows-Programm, FireDAC ersetzt die BDE und der Code wird auf den aktuellen Stand gebracht. Brauchen Sie Zugriff aus jedem Browser, ohne Installation auf den einzelnen PCs, passt eine Webanwendung besser. Wenn beides sinnvoll ist, vergleicht die Analyse die beiden Wege.

Wir haben den Quellcode nicht. Ist das ein Problem?

Nicht unbedingt. Wir können vom Programm im Einsatz, seinen Datendateien und Aufzeichnungen seiner Nutzung ausgehen. Mit Quellcode wird die Analyse genauer, und wo Informationen fehlen, sagen wir es.

Mit welchen Delphi-Versionen arbeiten Sie?

Mit Programmen aus jeder Version, von den frühen Borland-Versionen der 1990er-Jahre bis zu den aktuellen von Embarcadero. Die Version spielt vor allem für die String-Behandlung und die verfügbaren Komponenten eine Rolle, und wir halten sie in der Analyse fest.

Kann die Webanwendung unsere Firebird- oder InterBase-Datenbank weiter nutzen?

Ja, wenn andere Programme noch davon abhängen. Die Webanwendung verbindet sich dann mit derselben Datenbank, und ein Datenbankwechsel kann später erfolgen oder auch gar nicht.

Was geschieht in den 30 Tagen Parallelbetrieb?

Ihre Mitarbeiter haben das Delphi-Programm zur Hand, während sie in der neuen Anwendung arbeiten, und können die Ergebnisse an echten Vorgängen prüfen. Jede Abweichung, die in dieser Zeit auftaucht, beheben wir im Rahmen des vereinbarten Preises.

Kontakt

Per E‑Mail:

riccardo@modernizestudio.com
E‑Mail schreiben

Schicken Sie uns das Programm und seinen Datenordner, gern mit Testdaten, oder eine kurze Beschreibung, was es leistet. Wir antworten innerhalb eines Werktags.

Wir arbeiten von Italien aus.

E‑Mail schreiben