AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mirgration D2006 auf 10.4

Ein Thema von wurzelzwerg · begonnen am 4. Jun 2022 · letzter Beitrag vom 8. Jun 2022
Antwort Antwort
Seite 1 von 2  1 2      
wurzelzwerg

Registriert seit: 19. Jun 2011
Ort: Ilmenau
111 Beiträge
 
Delphi XE5 Enterprise
 
#1

Mirgration D2006 auf 10.4

  Alt 4. Jun 2022, 10:46
Moin,
ich habe ein Projekt was noch mit Dephi 2006 gebaut wurde.
Das soll jetzt auf die neuste Delphi-Version gebracht werden(bleibt VCL). Hab mir dazu erst mal Delphi 10.4(Community) besorgt.
Was kommt da alles auf mich zu? Ist das überhaupt machbar?
Gibts evtl. brauchbare Tools die dabei helfen?

Danke schon mal
Udo
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.825 Beiträge
 
Delphi 12 Athens
 
#2

AW: Mirgration D2006 auf 10.4

  Alt 4. Jun 2022, 10:57
Natprlich ist das machbar, sehr viele hier im Forum haben solche Sachen ja auch schon gemacht.
Die Frage wäre, was das für ein Projekt ist und was es alles benutzt.

Zwischen D2006 und D10.4.x liegt ja die Unicode Umstellung von D2009.
Je nach dem wie du mit Strings im projekt umgehst ist das einfach oder aufwändiger
(z. B. falls du die als bequeme Puffer für binäre Daten missbraucht haben solltest,
dafür wäre heute der TBytes Datentyp zu verwenden und die RTL bietet inzzwischen auch
so nette sachen wie Delete um Elemente mitten aus dem Array zu löschen oder Arrays mittels
+ Operator zu verketten...).

Für die Unicode Umstellung gibt es bei Embarcadero irgendwo auch englische Whitepaper die
beschreiben auf was man achten muss.

Falls du Datenbanken benutzt und das damals noch die BDE gewesen sein sollte:
die gibt's in den kommerziellen versionen zwar noch als extra download, eine Migration
auf beispielsweise FireDAC (spätestens ab Pro für lokale Datenbanken und ab Enterprise für
Client/Server Nutzung enthalten) wäre aber schon wünschenswert, zumal FireDAQ sicher das eine
oder andere neue Feature bietet...

=> ohne weitere Details von dir können wir nur ein paar allgemeine Tips geben und im nebel stochern
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Mirgration D2006 auf 10.4

  Alt 4. Jun 2022, 11:11
Moin,
ich habe ein Projekt was noch mit Dephi 2006 gebaut wurde.
Das soll jetzt auf die neuste Delphi-Version gebracht werden(bleibt VCL). Hab mir dazu erst mal Delphi 10.4(Community) besorgt.
Was kommt da alles auf mich zu? Ist das überhaupt machbar?
Gibts evtl. brauchbare Tools die dabei helfen?

Danke schon mal
Udo
Klar ist das machbar, aber es könnte eine Menge Arbeit werden, und eventuell auch teuer, wenn Du viele 3rd-party Komponenten verwendest. Die brauchst Du nämlich in der aktuellen Version für 10.4 und kannst nur hoffen, dass es die überhaupt noch gibt.

Der wesentliche Schritt auf der Kode-Ebene ist der Übergang von Ansi zu Unicode (string type). Da sind alle Stellen kritisch, die implizit Sizeof(char) = 1 annehmen, z. B. wenn der Kode string als Speicher für binäre Daten mißbraucht. Auch Lesen/Speichern von strings aus/in Dateien oder Datenbankfeldern muß angepaßt werden. Google mal nach "migration ansi unicode delphi", es gibt da ein PDF zu dem Thema von Embarcadero.

Zu Datenbanken: Falls die alte Anwendung DBs via BDE verwendet steht da ein größerer Umbau an, eventuell sogar eine Datenmigration auf eine neue DB-Engine (Paradox und dbase sind mega-out). Sieh mal https://docwiki.embarcadero.com/RADS...ngen_(FireDAC)

Ansonsten: Neues Verzeichnis anlegen, alle Sourcefiles etc. ausser *.bdsproj, *.cfg, *.dsk dorthin kopieren und einfach mal die DPR-Datei des Projektes in 10.4 öffnen. Projektoptionen neu setzen (für Win32 als Targetplatform), alle Hints und Warnings aktivieren und mal versuchen, zu kompilieren. Und nicht verzweifeln
Peter Below
  Mit Zitat antworten Zitat
wurzelzwerg

Registriert seit: 19. Jun 2011
Ort: Ilmenau
111 Beiträge
 
Delphi XE5 Enterprise
 
#4

AW: Mirgration D2006 auf 10.4

  Alt 4. Jun 2022, 11:23

=> ohne weitere Details von dir können wir nur ein paar allgemeine Tips geben und im nebel stochern
Schon klar. Ich brauch nur mal einen Überblick, die Details muss ich selbst erst rausfinden.

Viel kann ich zum Projekt momentan nicht sagen, es ist nicht von mir. Recht umfangreich(1300 *pas).
Datenbank ist MS-SQL Server.
Die Unicode Geschichte ist prinzipiell bekannt.
Bei den ersten Versuchen bin ich schon mal über die uses Abschnitte gestolpert wo jetz immer Vcl. Winapi. System. etc davor steht(die alle per Hand editieren..puhh)
TRegExpr gab es, jetz nicht mehr oder anders....

Udo
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.825 Beiträge
 
Delphi 12 Athens
 
#5

AW: Mirgration D2006 auf 10.4

  Alt 4. Jun 2022, 12:04
Hallo,

naja, den Präfix vor das Winapi kannst du dir auch sparen, der ist Optional!
Ich glaube da gibt's auch wo eine Einstellung für ob das immer "fully qualified" erfordert wird oder wie bisher gehandhabt wird...

Grüße
TurboMagic
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Mirgration D2006 auf 10.4

  Alt 4. Jun 2022, 12:27
Bei den ersten Versuchen bin ich schon mal über die uses Abschnitte gestolpert wo jetz immer Vcl. Winapi. System. etc davor steht(die alle per Hand editieren..puhh)
TRegExpr gab es, jetz nicht mehr oder anders....

Udo
Sieh Dir mal in den Project options unter "Delphi compiler" den Punkt "Unit scope names" an. Da sollte sowas drin stehen wie.

System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win; Xml.Win;System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl. Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell

Das ist der Eintrag für ein neues Projekt (in D11.1 allerdings). Wenn man in den Uses-Klauseln keinen Namespace angibt sucht der Compiler in allen in dieser Option angegebenen nach der Unit.

Für regex gibt es die Unit System.RegularExpressions, da findet sich auch TRegEx.
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#7

AW: Mirgration D2006 auf 10.4

  Alt 4. Jun 2022, 12:31
Der Präfix Namespace / Unit-Scope ist nicht direkt "optional" ... es gibt eine Liste, welche beim Suchen verwendet wird.

Siehe Projektoptionen > Erzeugen > Delphi-Compiler > Unit-Gültigkeitsnamen.
Beim Einbinden von Units wird alles, in dieser Liste, davor ausprobiert. (außer bei Dateien, welche direkt im Projekt sind ... siehe Projekte-Ansicht, bzw. wenn mit IN in der DPR)

Gerade beim Upgrade von Projekte aktualisiert/füllt die IDE diesen Eintrag nicht.
Aber du kannst dir den Inhalt aus einem leeren Standardprojekt rauskopieren.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
wurzelzwerg

Registriert seit: 19. Jun 2011
Ort: Ilmenau
111 Beiträge
 
Delphi XE5 Enterprise
 
#8

AW: Mirgration D2006 auf 10.4

  Alt 5. Jun 2022, 08:09

Für regex gibt es die Unit System.RegularExpressions, da findet sich auch TRegEx.
Danke, aber ich suche TRegExpr. TRegEx ist da(ein record).
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#9

AW: Mirgration D2006 auf 10.4

  Alt 5. Jun 2022, 08:45
ich suche TRegExpr. TRegEx ist da(ein record).
Wenn du es richtig machen willst, solltest du deinen Code auf TRegEx (den record) umstellen. Andernfalls wirst du vielleicht hier fündig: https://github.com/andgineer/TRegExpr
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

AW: Mirgration D2006 auf 10.4

  Alt 5. Jun 2022, 15:05
ich suche TRegExpr. TRegEx ist da(ein record).
Wenn du es richtig machen willst, solltest du deinen Code auf TRegEx (den record) umstellen. Andernfalls wirst du vielleicht hier fündig: https://github.com/andgineer/TRegExpr
Hm, definiere "richtig"?

Richtig bedeutet für mich, dass es funktionieren sollte, möglichst ohne Änderungen in der Funktionalität. Das hieße bei TRegExpr zu bleiben. Ist auch wesentlich einfacher und weniger fehleranfällig.

Die aktuellen Sourcen dort sind mindestens kompatibel mit Delphi 6 bis 11 (incl. des Versionswirrwars dazwischen, also 2005 bis 2010, XE bis XE8 und 10 bis 10.4). Ich weißt das, weil ich sie vor kurzem in GExperts integriert habe, um dessen veralteten Code aus SynEdit zu ersetzen.
Thomas Mueller
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz