Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Patches programmieren (https://www.delphipraxis.net/44710-patches-programmieren.html)

PierreB 23. Apr 2005 09:11


Patches programmieren
 
Guten Morgen :hi:

Wie programmiert man eigentlich Patches ? Ich meine kleine Programme die ein anderes fertiges Programm verändern. Zum Beispiel wollte ich die Caption eines Programmes mittels eines Patches verändern. Wie geht das ?

Thx

Filou 23. Apr 2005 09:22

Re: Patches programmieren
 
Du musst die compilierten Teile des Projekts austauschen, d.h. die exe-Datei und/oder die *.dcu-Dateien

PierreB 23. Apr 2005 09:27

Re: Patches programmieren
 
Zitat:

Du musst die compilierten Teile des Projekts austauschen, d.h. die exe-Datei
Mit was soll ich die denn Austauschen ? In meinem speziellen Falle wollte ich einfach ein kleines (was weiß ich) 50KB Patch der die Caption eines meiner Programme ändert.

arbu man 23. Apr 2005 09:36

Re: Patches programmieren
 
Hier im Forum suchenFindWindow diese function ermöglicht es dir das handle eines Fenster zu bekommen und mit dem handle kann man dann bestimmt auch die Caption verändern - wie? da gibt es einige themen in der dp such mal "Inhalt eines Fremden Editfeldes verändern" oder so

alcaeus 23. Apr 2005 09:39

Re: Patches programmieren
 
Du musst eigentlich das tun, was ein Resourcenhacker machen kann: den Text in der compilierten exe veraendern. Wie man das genau macht wuesste ich jetzt auch nicht, aber ich schaetze mal, du machst ein Patchfile. Du hast die alte exe und die neue, und laesst diese bitweise vergleichen. Die Unterschiede schreibst du dir in eine Datei, und das Patchprogramm gleicht dann die Unterschiede aus (z.B. macht aus einem "A" ein "B"). So hast du ein kleines Patchprogramm.

@Filou: Das macht garantiert KEIN Patchprogramm. Wozu brauch ich ein Programm um Dateien auszutauschen? Das kann der Nutzer auch selbst.

@arbu man: Bei der naechsten Ausfuehrung ist die Caption dann gleich. So wie ich das verstanden habe, will er die exe selbst patchen.

Greetz
alcaeus

MathiasSimmack 23. Apr 2005 09:42

Re: Patches programmieren
 
@arbu man: Weißt du überhaupt, was ein Patch ist? :gruebel:

Üblicherweise versteht man unter einem Patch eine kleine Binärdatei, die eine andere Datei ändert. Das heißt, es wird in den Bytes der Datei rumgeschrieben, so dass aus der Version 1.0 plötzlich Version 1.1 wird, usw.
Klar wird dabei nicht wild in der Datei herumgeschrieben, sondern das Patchprogramm vergleicht die alte und die neue Version und notiert sich quasi nur die Änderungen. Nachteil: Der Patch ist nur auf eine bestimmte Datei (damit meine ich die Version!) anwendbar. Vorteil: Während die neue Exe vllt. mehrere 100k ausmacht, ist so ein Patch unter Umständen nicht mal 100k groß. Nachteil: Gibt es mehrere Versionen der Exe (v1.0, v1.1, v1.2), die alle gepatcht werden sollen (auf v2.0), dann müssen auch entsprechend viele Patches veröffentlicht werden, oder man stellt gleich die neue Exe zur Verfügung. :stupid:

Lange Rede, kurzer [dp="MakeUpd"]Klick[/dp].

PierreB 23. Apr 2005 09:45

Re: Patches programmieren
 
@alci und Mathias: Ja genau sowas meinte ich.

Vielen Dank für den Link ich gugge mal ob ich was brauchbares finde. ;)

3_of_8 23. Apr 2005 10:30

Re: Patches programmieren
 
Ich kann für nichts garantieren, aber du könntest beide EXEn als TextFiles öffnen, die exakte Position im Str angeben, bei der sich neu und alt unterscheiden und die Änderung, als Record abspeichern und dann im Patch selbst diese Datei wieder auslesen und Änderungen durchführen lassen.

MathiasSimmack 23. Apr 2005 10:55

Re: Patches programmieren
 
Zitat:

Zitat von 3_of_8
Ich kann für nichts garantieren

Dann lass es lieber. Unter dem genannten Link findet sich irgendwo ein mit Delphi geschriebenes Programm, das den ganzen Patchprozess von sich aus übernimmt. Außerdem kann es Patches mit mehr als nur einer Datei erzeugen. Das heißt, du kannst auf einen Rutsch mehrere Dateien aktualisieren lassen. Ebenso lassen sich neue Dateien hinzufügen und nicht mehr benötigte (obsolete) Dateien entfernen. Und das ganze funktioniert etwas anders als deine Textdatei-Idee. Sorry.

woki 23. Apr 2005 11:11

Re: Patches programmieren
 
Hi,

es sei aber doch eerwähnt, dass, selbst wenn man vom Einspielen von Patches, oder dem Patchen eines Programmes spricht, heutzutage doch meistens gemeint ist, dass ein Programm (und um Himmels Willen nicht der User manuell), Dateien austauscht.

Grüsse
Woki


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:03 Uhr.
Seite 1 von 5  1 23     Letzte »    

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