Einzelnen Beitrag anzeigen

USchuster

Registriert seit: 12. Sep 2010
Ort: L.E.
120 Beiträge
 
Delphi XE3 Professional
 
#20

AW: Wie patcht man die classes.pas unter XE2?

  Alt 2. Nov 2012, 14:11
...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
  Mit Zitat antworten Zitat