Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#2

Re: D7-Komponenten nach D2005 portieren

  Alt 7. Jan 2005, 20:32
Zitat von Chakotay1308:
Dupliziert die Packages für D7 einfach im Explorer (markieren, STRG+C, STRG+V) und benennt die Dateien um. Am sinnvollsten ist, in der bisherigen Form der Bennung weiterzumachen. Also aus VirtualTreesD7D.dpk sollte VirtualTreesD9D.dpk gemacht werden. Achtet darauf, dass ihr das sowohl bei Design- als auch bei den Runtime-Packages macht.
Das ist IMHO nicht notwendig. Man sollte Code möglichst wiederverwenden. NICHT kopieren.
Delphi8 & 2005 legen in deinen "Eigenen Dateien" den Ordner "BDS Projects" o.ä. an. Darin kannst du ja einen Ordner Library packen.
Dem spendierst du die Unterordner DCU & Output. In den Optionen setzt du jetzt die DCU- & Outputpfade standardmäßig auf diese Ordner.
Ich habe unter Library ein D7, D8 und D2005 stehen. Darunter erst die DCUs und den Output.
Schon kommen sich Units,Packages,Echsen,... , die von verschiedenen Delphi-Versionen kompiliert wurden, nicht mehr in die Quere. Außerdem musst du nur die 2 Ordner als Suchpfad global definieren. Das spart das nervige Anpassen der Suchpfade

Zitat von Chakotay1308:
In Designpackages muss u.U. noch bei den requires-Angaben eine Zahl ausgetauscht werden. Das gleiche wieder u.U. bei Runtimepackages machen.
Im Normalfall reicht es die Einträge von Delphi-System-Packages á la vclXX,rtlXX & Co zu entfernen. (Die landen dort im kompilierten Package sowieso, falls VCL,... verwendet werden).
Werden andere Packages benötigt muss man sie auch fit für mehrere Dephi-Versionen machen.

Zitat von Chakotay1308:
Dann sollte alles fertig sein. Alles speichern und ganz normal Kompilieren und Installieren, wie bei D7 und anderen D9-Paketen auch.
Genau deshalb. Compiler-spezifische Dinge (zum Bleistift ein Enumerator in einer Collection, oder die DesignTime-Editoren in D<6) können bedingt kompiliert werden.
Ansonsten läuft der gleiche Code überall.

Zitat von Chakotay1308:
Delphi legt noch ziemlich viel Müll ab, deswegen könnt ihr (hat bei mir bisher zu keinen Fehlern geführt) diese Dateien löschen: *.bdsproj.local, *.cfg und das Verzeichnis ModelSupport, sofern ihr keine Modellansichten braucht.
*.local bedeutet, dass im Anwendungsverzeichnis zuerst nach typbibliotheken gesucht werden soll. Das ist also nicht immer Müll. Die *.cfg enthaltren deine Projekteinstellungen -> auch kein Müll.

Zitat von Chakotay1308:
Ich hoffe, dass ich jetzt nicht schon wieder irgendwelche Fehler gemacht habe und das bei euch funktioniert. Bisher habe ich das bei folgenden Komponenten geschafft: VirtualTrees (aka VST), Aducom SQLite, ...
Sicher funktioniert dein Weg, aber du hast jetzt doppelten Code, das macht Änderungen/Aktualisierungen nervig.
  Mit Zitat antworten Zitat