Einige kleine Tools lassen sich entweder ohne Änderungen migrieren, oder es sind nur einige Unicode-Korrekturen erforderlich, um sie zum Laufen zu bringen.
Wenn Ihre Codebasis jedoch so umfangreich ist, wie Sie es beschreiben, sollten Sie sich nicht vollständig auf das verlassen, was Ihnen hier jemand sagt. Besorgen Sie sich einfach eine Kopie von XE und laden Sie den Code. Schauen Sie, auf welche Probleme Sie stoßen, um ein Gefühl für den Aufwand zu bekommen, den Sie betreiben werden.
Im Moment habe ich meinen gesamten Code auf XE portiert (auch alte Projekte). Ich verwende so oft wie möglich dieselben Bibliotheken. Sobald ich also die meisten davon konvertiert habe, war die "Portierung" von Anwendungen von Delphi 7 auf Unicode-Delphi in der Regel nur eine sich wiederholende Aufgabe, um entweder mit aktualisierten Schnittstellen in den Bibliotheken umzugehen oder Compilerfehler und Warnungen zu beheben.
Die häufigsten Fehler, auf die ich gestoßen bin:
-
Unicode-Zeug. Das wird 90% der Zeit in Anspruch nehmen. Es ist ärgerlich, wenn der Code eine Menge von Low-Level-String-Handling, aber die meisten der Probleme können leicht behoben werden, indem Sie einige Typecasts.
-
der Compiler meckert, wenn Sie c in ['a'..'z']
. Sie sollten Folgendes verwenden CharInSet()
für Unicode-Zeichenfolgen.
-
Wenn Sie ShortDateFormat festlegen, erhalten Sie eine Compilerwarnung, dass Sie stattdessen FormatSettings.ShortDateFormat verwenden sollten. In neuem Code ist das eine gute Idee. Wenn Sie portieren, ignorieren Sie es zunächst einfach, wenn Sie einfach loslegen wollen.
Außerdem werden Sie wahrscheinlich Ihre Bibliotheken von Drittanbietern auf neuere Versionen aktualisieren, so dass Sie diese nicht selbst portieren müssen. Es ist nicht ungewöhnlich, dass diese ihre Schnittstellen oder Arbeitsweisen geändert haben, so würde ich einige Testversionen von denen herunterladen, um zu sehen, was geändert wurde.