Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   D2009 - Wie Generics.*.pas neu kompilieren? (https://www.delphipraxis.net/125094-d2009-wie-generics-%2A-pas-neu-kompilieren.html)

Daniel 30. Nov 2008 17:04


D2009 - Wie Generics.*.pas neu kompilieren?
 
Moin,

nachdem ich festgestellt habe, dass einige der Enumeratoren bei den generischen Containern bei D2009 defekt sind, habe ich die Quelldateien per Hand gepatcht - das war nicht so wahnsinnig schwierig.

Doch wie kompiliere ich diese Dateien neu? Mein erster Versuch über die Kommandozeile brachte mir zwar DCUs, die stimmen in der Größe jedoch nicht mal im Groben mit den vorherigen Dateien überein und knallen mir auch an Stellen weg, an denen ich nichts geändert habe.

Nun habe ich diverse Compilerschalter probiert, darunter auch Bereichsprüfung und Überlaufprüfung an- und ausgeschaltet - leider ohne Erfolg.

Kann mir wer einen Tipp geben, wie man Teile der VCL neu übersetzt?

DeddyH 30. Nov 2008 18:21

Re: D2009 - Wie Generics.*.pas neu kompilieren?
 
Auch wenn ich noch nie die Originaldateien gepatcht habe... müsste man das enthaltende Package nicht neu kompilieren? Diese Angaben sind wie immer ohne Gewähr :mrgreen:

Bernhard Geyer 30. Nov 2008 21:20

Re: D2009 - Wie Generics.*.pas neu kompilieren?
 
Zitat:

Zitat von Daniel
Kann mir wer einen Tipp geben, wie man Teile der VCL neu übersetzt?

Geht doch gar nicht, jedenfalls nicht für die Packages von Codegear. :gruebel:

Wenn du ohne Packages arbeitet könntest du die angepaßte Datei in dein Projektverzeichnis kopieren (oder eine VCL-Patch-Verzeichnis im Suchpfad aufnehmen). Willst du Packages mußt du dir deine eigene Packagesammlung ähnlich der Standardsammlung zusammenstellen.

Luckie 30. Nov 2008 21:43

Re: D2009 - Wie Generics.*.pas neu kompilieren?
 
Zitat:

Zitat von Daniel
nachdem ich festgestellt habe, dass einige der Enumeratoren bei den generischen Containern bei D2009 defekt sind, habe ich die Quelldateien per Hand gepatcht - das war nicht so wahnsinnig schwierig.

Du machst auch alles kaputt. Wenn man dir mal was in die Hand gibt. :mrgreen:

Sorry, ich konnte nicht widerstehen. :oops:

Daniel 1. Dez 2008 07:16

Re: D2009 - Wie Generics.*.pas neu kompilieren?
 
Moin,

auf die Packages hätte ich verzichten können.

Meine Brachial-Lösung sah so aus, dass ich die beiden .PAS Dateien in mein Projektverzeichnis kopiert und sie auch explizit ins Projekt eingebunden habe. Die geänderten Dateien sind dann auch im Rahmen meiner EXE verwurstet worden. Aber leider flogen dann eben Hashing-Funktionen und Key-Collections weg - da bin ich dann ausgestiegen, da ich auch mit und ohne Bereichs- und Überlaufprüfung keinen Erfolg verzeichnen konnte.

Konkret geht es darum, dass man beim TDictionary nicht über die Keys iterieren kann, da der Iterator einen Schritt zu weit geht und am Ende einen ungültigen Eintrag zurückliefert. Im Quellcode ist das rasch korrigiert, doch gelingt es mir eben nicht, die Änderungen zu übersetzen. Der Fehler ist bereits in der Quality-Central von CG und wird hoffentlich auch bald korrigiert. Zwischenzeitlich zähle ich selbst die Einträge mit und steige rechtzeitig aus. Hübsch ist es nicht - aber es geht.

@Michael: Das merke ich mir. :mecker: :mrgreen:

Chemiker 1. Dez 2008 18:59

Re: D2009 - Wie Generics.*.pas neu kompilieren?
 
Hallo Daniel,

vielleicht kann Dir Andreas (jbg) weiter helfen.

Bis bald Chemiker

jbg 1. Dez 2008 19:07

Re: D2009 - Wie Generics.*.pas neu kompilieren?
 
Zitat:

Zitat von Chemiker
vielleicht kann Dir Andreas (jbg) weiter helfen.

Und wie kommst du da drauf? Ein Neukompilieren von Generics kann nur in einem Caos enden, da diese ja nicht in die Generics.*.dcu kompiliert, sondern dort per Quellcode reingeschrieben werden. Nutz eine andere Unit die Generics dann kommt die aktuell gültige "Implementierung" in die Zielunit. Ändert man im nachhinein die Generics, dann interessiert das die bereits falsch kompilierte Unit einen Fliegendreck. Mehr kann ich dazu aber auch nicht sagen, außer, dass sich Berry Kelly da was einfallen lassen muss damit das funktioniert, weil Generics.*.pas ist im Moment unbrauchbar.

Dezipaitor 1. Dez 2008 19:25

Re: D2009 - Wie Generics.*.pas neu kompilieren?
 
Was ich nicht verstehe, wie können die von Emb. die Unit kompilieren?

jbg 1. Dez 2008 19:44

Re: D2009 - Wie Generics.*.pas neu kompilieren?
 
Vielleicht haben sie den -z Parameter genutzt, wie bei System.pas

himitsu 2. Dez 2008 07:36

Re: D2009 - Wie Generics.*.pas neu kompilieren?
 
Wer sagt, daß sie DIESE Units überhaupt kompilieren?
Die System.dcu wurde ja auch nicht aus der System.pas erstellt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 Uhr.
Seite 1 von 2  1 2      

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