Der Fix für den Delphi 8 Compiler, damit das .NET 1.1 SP1 unterstützt wird, ist nicht so einfach, wie ursprünglich erhofft. Wir können nicht einfach die Versions-Ids welche aus der CLR importiert werden ignorieren, da der Delphi-Compiler diese benötigt, um zwischen den verschiedenen Versionen der überladenen Methoden zu unterscheiden. Die Technik, um zwischen diesen zu unterscheiden, erfordert eine Änderung des .DCU Formates, womit die Änderungen sämtliche Vorstellungen von "einfach" über Board werfen.
Zur Zeit testen wir eine mögliche Lösung mit Hilfe des Diamondback Compilers, welcher sich in der aktiven Entwicklung befindet. Bisher sieht diese recht solide aus. Die neue Version arbeitet unabhängig von den Tokenwerten und übersteht auch deren Änderungen beim Wechsel zum von .NET 1.1 zu .NET 1.1 SP1 (und zurück).
Der aktuelle Plan ist es, diese Änderungen in die Sourcecodes des Delphi 8 Compilers zu implementieren und dann sämtliche .dcuils und .dcpils, welche mit D8 veröffentlicht wurden, neu auszuliefern. Das werden einige (viele) MBs werden und wird wahrscheinlich auch eine
MSI Installation erfordern. Für etwas mit diesem Umfang besteht für ein inoffizielles Update keine Möglichkeit.
Die Änderung des
DCU Formats birgt weitere Problem. Alle .dcuils und .dcpils, welche mit früheren Versionen des Compilers erstellt wurden, werden
nicht mit dem Update funktionieren. Wenn man Units gekauft oder erhalten hat, zu denen man den Source Code nicht besitzt, muss man sich an deren Autor wenden und ein Update verlangen. Wenn man die Source Codes besitzt, reicht eine Neuerstellung der .dcuils und .dcpils hingegen aus.
Hinweis: Dieses Problem ist rein Compiler-bezogen. Mit dem D8 Compiler erstellte Assemblies betrifft dieses Problem nicht - diese laufen sowohl auf .NET 1.1 als auch auf .NET 1.1 SP1.