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/)
-   -   Delphi Patch selbst programmieren (https://www.delphipraxis.net/118409-patch-selbst-programmieren.html)

cp3de 7. Aug 2008 10:57


Patch selbst programmieren
 
Hallo Leute,

ich möchte gerne wissen, wie man selbst einen Patch unter Delphi programmieren kann.
Bisher habe ich meine Programme immer neu compiliert und damit die alten ersetzt.
Bei geringfügigen Änderungen wäre es aber sinnvoller die Dateien einfach nur zu aktualisieren. ;)

Schon mal vielen Dank für die Antworten!

Gruß
Christoph

mkinzler 7. Aug 2008 11:01

Re: Patch selbst programmieren
 
Imho ist die Zeit für Binärpatches vorbei.

TonyR 7. Aug 2008 11:20

Re: Patch selbst programmieren
 
Bei Spielepatches der derzeitigen Games werden auch immer die kompletten EXEn neu ausgeliefert (insofern sie vom Patching betroffen sind).

HeikoAdams 7. Aug 2008 11:24

Re: Patch selbst programmieren
 
Dem kann ich mich nur anschließen. IMHO werden bei modernen Patches einfach die betroffenen Programmteile (DLLs, EXE etc) durch neuere Versionen ausgetauscht. In sofern sind Patches heutzutage eigentlich eher Mini-Updates.

OregonGhost 7. Aug 2008 11:25

Re: Patch selbst programmieren
 
Gerade bei Spielen wird aber nicht jede einzelne Datei neu ausgeliefert. Maxis zum Beispiel setzt zum Patchen nachwievor RTPatch ein. Damit kann man schon einige hundert MB in der Patch-Größe sparen ;)
Bei einer wenige MB großen EXE ist es heutzutage in den meisten Fällen den Aufwand nicht wert, außer wenn man Kunden bzw. eine Zielplattform hat, die diesbezüglich sehr eingeschränkt sind (z.B. wenn der Patch per serieller Schnittstelle auf ein Gerät aufgespielt werden muss).
Im Normalfall kann man, wenn man etwas sparen will, die Anwendung eher in Module aufteilen, die sich dann einzeln austauschen lassen. Also zum Beispiel die Ressourcen, statt sie mit in die EXE zu packen, einfach in eine Satelliten-DLL auslagern.

HeikoAdams 7. Aug 2008 11:30

Re: Patch selbst programmieren
 
Zitat:

Zitat von OregonGhost
Gerade bei Spielen wird aber nicht jede einzelne Datei neu ausgeliefert. Maxis zum Beispiel setzt zum Patchen nachwievor RTPatch ein. Damit kann man schon einige hundert MB in der Patch-Größe sparen ;)

Ausnahmen bestätigen die Regel :-D Aber allgemein ist es heutzutage doch eher üblich, einzelne Dateien auszutauschen, anstatt die bestehenden Dateien binär zu patchen. Mir ist jedenfalls nicht bekannt, das z.B. MS patches im eigentlichen Sinne verteilt. :wink:

igel457 7. Aug 2008 18:00

Re: Patch selbst programmieren
 
Ich glaube bei den JEDIs ist eine Komponente mit dem vielversprechenden Namen "TJvPatch" dabei - ich weiß jedoch nicht genau was diese macht. Vielleicht ist diese ja für deine Zwecke ausreichend.

PS: Auch bei Bethesda (Oblivion) werden Binärpatches ausgeliefert. Diese sind sehr klein, brauchen aber recht lange beim Installieren. Gerade die "The Elder Scrolls" Spiele bestehen aus ein paar riesigen Datenpacketen (4 mal 1 GB) und einen Interpreter/der Spieleengine. Die Datenpakete per Patch komplett auszutauchen würde keinen Sinn machen.

lbccaleb 7. Aug 2008 18:06

Re: Patch selbst programmieren
 
Assarbad hat da mal was brauchbares gemacht^^

diffit

cp3de 7. Aug 2008 21:21

Re: Patch selbst programmieren
 
Vielen Dank für die zahlreichen Antworten! :)

Dann werde ich meine Softwareprojekte in Zukunft stark aufteilen und dann immer einzelne Module ersetzen.
Ich dachte nur es gäbe vielleicht irgendwelche Anweisungen die Änderungen direkt einarbeiten.
So nach dem Motto "Gehe in Quelltextzeile 301 und ändere 'i:= 100;' in 'i:= 1000;' " und man
braucht nur diesen kleinen Teil neu zu kompilieren.

mkinzler 7. Aug 2008 21:29

Re: Patch selbst programmieren
 
Um Sourcecode zu Patchen gibt es schon Diff-Tools. Aber dann müsstest du ja den Code ausliefern und es müsste überall Delphi installiert sein


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:19 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