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.
- 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,TDBLookupComboBoxund 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 wieBeforePostundOnCalcFieldssowie 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
- Übersicht
- Artikel1.284
- Bewegungen
- Lieferanten
- Berichte
| Aderleitung H07V-K 1,5 mm², blauEL-10215 · A-03-2 | 1.850 m | |
| LS-Schalter C16 1P+NEL-20431 · B-01-4 | 46 Stk | Unter Min. |
| Abzweigdose 100×100EL-30112 · B-02-1 | 312 Stk | |
| LED-Panel 60×60, 36 WEL-40877 · C-05-3 | 18 Stk | Unter Min. |
| FI-Schalter 40 A 30 mAEL-20455 · B-01-5 | 27 Stk | |
| Isolierrohr 20 mm, grauEL-50310 · A-07-1 | 940 m | |
| Steckdose 16 AEL-60204 · B-03-2 | 9 Stk | Unter Min. |
| Art.-Nr. | Bezeichnung | Platz | Bestand | Min. | Einh. |
|---|---|---|---|---|---|
| EL-10215 | Aderleitung H07V-K 1,5 mm², blau | A-03-2 | 1.850 | 500 | m |
| EL-20431 | LS-Schalter C16 1P+N | B-01-4 | 46 | 60 | Stk |
| EL-30112 | Abzweigdose 100×100 | B-02-1 | 312 | 100 | Stk |
| EL-40877 | LED-Panel 60×60, 36 W | C-05-3 | 18 | 24 | Stk |
| EL-20455 | FI-Schalter 40 A 30 mA | B-01-5 | 27 | 20 | Stk |
| EL-50310 | Isolierrohr 20 mm, grau | A-07-1 | 940 | 300 | m |
| EL-60204 | Steckdose 16 A | B-03-2 | 9 | 40 | Stk |
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
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.
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.
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.
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
Wie sich BDE und Paradox verhalten
Paradox-Tabellen hängen von Sperrdateien, einer gemeinsamen Netzwerk-Steuerdatei (
PDOXUSRS.NET) und BDE-Einstellungen wieLOCAL SHAREab, 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.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.
Logik in Dataset-Ereignissen
Regeln in
BeforePost,OnValidateoderOnCalcFieldslaufen 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.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.
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.
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.
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.
Weitere Leistungen
- Microsoft Access als WebanwendungTabellen, Abfragen, Formulare, Berichte und VBA in einer Webanwendung auf SQL Server oder MySQL.
- Excel VBA als WebanwendungArbeitsmappen mit Makros, UserForms und verknüpften Blättern als mehrbenutzerfähige Webanwendung.
- Migration von VB6-AnwendungenVisual-Basic-6-Programme in C# und ins Web überführt, mit oder ohne Quellcode.
- Modernisierung älterer .NET-AnwendungenWinForms- und ASP.NET-Web-Forms-Anwendungen auf ASP.NET Core gebracht, mit allem, was noch taugt.
- Individualsoftware und SchnittstellenNeue Unternehmensanwendungen, REST-API-Schnittstellen, Datenmigration und Wartung.
Kontakt
Per E‑Mail:
riccardo@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.