AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sauberer Weg VCL zu patchen?

Ein Thema von Assertor · begonnen am 9. Jul 2008 · letzter Beitrag vom 4. Aug 2008
Antwort Antwort
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#1

Sauberer Weg VCL zu patchen?

  Alt 9. Jul 2008, 12:08
Hallo,

ich habe gerade mal wieder einen VCL Patch anwenden dürfen, damit auch wirklich jede Komponente und Unit den Fix bekommt.

Konkret geht es um http://qc.codegear.com/wc/qcmain.aspx?d=61288

Jedes mal bei einer neuen Delphi Version in der VCL rumwühlen ist ja auch nicht schön. Was ist der beste Weg, solche einen Patch einzupflegen? Wie macht Ihr das? Am liebsten wäre mir eine Unit, die die entsprechende Klasse für die ganze Anwendung hookt, um auf die privaten Objekte Zugriff zu erhalten.

Dann kann man selbst per Compiler Def prüfen, ob der Patch Anwendung finden soll oder nicht.

Gruß Assertor

P.S: Diff/Merge geht natürlich auch
Frederik
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Sauberer Weg VCL zu patchen?

  Alt 9. Jul 2008, 12:33
Es sollte doch kein Problem sein, eine Ersatzroutine zu schreiben und dann mit einem unbedingten Sprung dorthin zu springen, oder? Das einzige Problem ist, dass du dich dann auf eine bestimmte Art von CPU festlegst.

Edit: Wenn du den Titel ernst meinst, solltest du diesen Beitrag ignorieren.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#3

Re: Sauberer Weg VCL zu patchen?

  Alt 9. Jul 2008, 12:45
Zitat von Apollonius:
Es sollte doch kein Problem sein, eine Ersatzroutine zu schreiben und dann mit einem unbedingten Sprung dorthin zu springen
Der Titel war schon erst gemeint

Mich interessiert, wie es andere machen: VCL Dateien entsprechend der eigenen Bedürfnisse fixen, Patch im Intranet verteilen. Ins Versionkontrollsystem CVS/SVN integrieren?

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#4

Re: Sauberer Weg VCL zu patchen?

  Alt 4. Aug 2008, 19:21
Subversion, TortoiseSVN, Patch.exe, diff.exe

Grober Ablauf
(Hinweis: alles mit Subversion)

1. (fremden) Quelltext in Subversion ablegen ("Original")
2. zu ändernden Quelltext aus Subversion in ein Arbeitsverzeichnis laden
3. Änderungen im Arbeitsverzeichnis durchführen
4. geänderten Quelltext wieder in Subversion hineinladen (zusammenführen, "geändertes Original"), fertig.

Bei aktualisiertem (fremden) Quelltext

5. Quelltext aus Subversion in ein Arbeitsverzeichnis laden
6. Arbeitsverzeichnis mit neuen Quelltext "überschreiben" (dieser Schritt ist ein bisschen kniffelig: neue Dateien müssen hinzugefügt werden, nicht mehr vorhandene Dateien müssen gelöscht werden; - Verzeichnisvergleich mit irgendeinem Programm machen...)
7. Quelltext in Subversion hineinladen (zusammenführen, "neuer Quelltext")
8. Differenz zwischen "Original" und "geändertem Original" berechnen (und speichern)
9. Differenz auf "neuen Quelltext" anwenden (wieder in einem separaten Arbeitsverzeichnis)
10. geänderten, neuen Quelltext in Suversion hineinladen, fertig.

Damit lassen sich Originale von Version zu Version vergleichen und eigene Änderungen an jedem Original.
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:18 Uhr.
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