AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

RTL ändern und neu erstellen

Ein Thema von DelTurbo · begonnen am 14. Sep 2011 · letzter Beitrag vom 14. Sep 2011
Antwort Antwort
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#1

AW: RTL ändern und neu erstellen

  Alt 14. Sep 2011, 17:17
Soweit ich mich erinnere kannst du die System.pas nicht compilieren, weil eine Datei fehlt. Alles andere sollte gehen, aber ich kann davon auch nur abraten.
z.B geht der Zirkus schon los, wenn du eine Komponente installieren willst, von der du den Quelltext nicht hast : "Die Unit xxx wurde mit einer anderen Version von xxx Kompiliert". Wenn es sich um Klassen handelt, die du erweitern willst, schreib dir Class Helper ( Ab Delphi 8 ), wenn du normale Proceduren ändern willst, schreib dir die einfach neu. Bei Proceduren und Functionen, die von der Kompiler-Magic benutzt werden, siehts wahrscheinlich ganz grau aus.

Dazu ändert sich schlagartig das Verhalten sämtlicher Komponenten. Die Wahrscheinlichkeit, daß die Komponenten noch funktionieren geht gegen 0
Glückauf

Geändert von guinnes (14. Sep 2011 um 17:24 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.580 Beiträge
 
Delphi 12 Athens
 
#2

AW: RTL ändern und neu erstellen

  Alt 14. Sep 2011, 17:46
Man könnte es zwar neu kompilieren, aber ich rate stark davon ab.

Sowas sollte man maximal für wichtige Bugfixes in Betracht ziehen.

Du willst aber das Verhalten einer Funktion ändern, welche nur auf ASCII ausgelegt ist.
AnsiLowerCase ist also die einzig "richtige" Lösung.
Installierst du irgendwann mal dein Delphi neu oder steigst du auf ein neues Delphi um, dann bekommst du arge Probleme, wenn man (nach Jahren) dann mal vergißt dieses wieder "anzupassen".
PS: Bei TDE und Delphi Starter kannst du es vergessen, da dir dort die Quelltexte fehlen.


Und willst du wirklich nur ASCII mit ÄÖÜ, dann erstell dir eine eigene Funktion (MyLowerCase) und lege sie in einer eigenen Unit ab.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (14. Sep 2011 um 17:50 Uhr)
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#3

AW: RTL ändern und neu erstellen

  Alt 14. Sep 2011, 19:35
Ich hab das mal gemacht, um D2006 wieder kompatibel mit Windows 95 zu machen.

Befriedigend fand ich das aber trotz allem nicht. Auch in Pro und Ent fehlten Dateien, um die Packages etwa neu zu übersetzen (ich glaube das entsprechende QC-Ticket ist heute noch offen ). Für den Rest habe ich halt den Suchpfad entsprechend erweitert und die Binärversionen gelöscht. Trotzdem - je nach Umfang der Änderungen scheiterte es an einer rekursiven Nutzung von Variants (oder so ähnlich, ist ne Weile her).

Für den Anwendungsfall hier kann ich daher auch nur dringend anraten, die Finger davon zu lassen. Selbst ohne AnsiLowerCase würde ich in solchen Fällen höchstens eine Kopie der Funktion aus SysUtils.pas machen und diese Kopie in meiner eigenen Unit anpassen. Dann sorgt die Reihenfolge der Unit-Einbindungen dafür, daß ich nur am Kopf etwas ändern muss und nicht jeden einzelnen Aufruf - fertig.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: RTL ändern und neu erstellen

  Alt 14. Sep 2011, 20:03
Du kannst die von Borland/Codegear/Embadings Delphi-Packages nicht neu übersezten. Damit wäre sonst die absolute BPL-Hölle angesagt wenn dann diese BPL nicht nur in den Versionen "Ursprungslieferung", "SP1", "SP" für jede Delphi-Version vorlägen sondern auch in Packageversion "SP2-Entwickler-Herbert", "SP2a-Entwickler-Hubert".

Du kannnst (solltest jedenfalls) die Packages in neuer Zusammensetzung bereit stellen um gegen sie zu kompiliern. Auch ist es möglich (Durch Speichern der angepassten Units in entsprechende Dxxx-Patch-Diretories) gegen diese angepassten Units zu kompilieren wenn man keine Laufzeitpackages verwenden will.

Und wie gesagt: Schau dir TNT an um zu sehen wie dort Funktionen "gepatcht" werden (Hab selbst ein paar eigene entsprechend eingbaut um Fehlverhalten der RTL fixen).


Übrigens: Lässt es Microsoft zu das die MFC/ATL-Dlls jeder x-Beliebige user Neu compiliern kann um seine persönlichen Patches bereitzustellen?
Und kannst du .NET oder JRE selbst übersetzen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.248 Beiträge
 
Delphi 2007 Architect
 
#5

AW: RTL ändern und neu erstellen

  Alt 14. Sep 2011, 20:55
Erstmal vielen dank. Ihr habt natürlich recht. Da ich nicht beratungsresistent bin, lass ich mal die finger davon. Beim abwägen vom für und wieder dieser sache fällt einem auf das es eine "schnapsidee" war.

Auch das mit den Komponenten die dann rum meckern das die version nichtmehr stimmt, würde mir garnicht gefallen. Daran hatte ich garnicht gedacht.

Manchmal meint man, man(n) hätte eine gute idee. Im nachhinein muss man(n) aber einsehen das es blödsinn war.

Vielen dank an euch.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz