...Gebe das mal an den Kollegen weiter, der sich gerade beide Ohren dabei gebrochen hat, die classes.pas neu zu kompilieren.
Wo genau ist eigentlich nochmal das Problem System.Classes neu zu kompilieren?
Der Rattenschwanz an Units die ebenfalls neu kompiliert werden müsste.
Eigentlich dann die gesamte gelieferten
VCL-Units bis auf System.pas.
Und genau das kann ich nicht nachvollziehen, denn das Neukompilieren von anderen Units ist nur bei Interface Änderungen notwendig und die sollte man nicht machen.
Die
RTL, zu der auch System.Classes gehört, kann man mittels $(
BDS)\source\
rtl\buildrtl.bat neu erstellen, aber das muss man gar nicht.
Warum geht denn nicht prinzipiell folgendes:
1. System.Classes.pas in ein Testprojekt tun
2. dieses in Debug und Release Konfiguration kompilieren für die gewünschte Platform
3. System.Classes.dcu in $(BDSLIB)\<platform>\Release und $(BDSLIB)\<platform>\Debug sichern und austauschen durch DCUs aus 2.
4. $(
BDS)\source\
rtl\common\System.Classes.pas sichern und durch Version aus Testprojekt austauschen, damit die Zeilen bei Debuggen mit Debug-DCUs passen
Ich mache 2. etwa so auf der Kommandozeile (statt $(BDSBIN) und $(BDSLIB) verwende ich die tatsächlichen Pfade):
$(BDSBIN)\DCC32.EXE -$D+ -$O- System.Classes.pas --no-config -u$(BDSLIB)\
win32\debug -N0Debug
$(BDSBIN)\DCC32.EXE -$D- -$O+ System.Classes.pas --no-config -u$(BDSLIB)\
win32\release -N0Release