Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Programm aus Projekt heraus compilieren


W4yne - Fr 13.08.10 13:49
Titel: Programm aus Projekt heraus compilieren
Hallo, folgendes Beispiel:
Man hat z.B. einen Chat programmiert mit Client und Server. Nun erstelle ich ein neues Projekt, in dem man z.B. die Ip
des Chatservers einträgt und dann auf built drückt.
Nun wird die IP eingetragen und der Client wird kompiliert also eine neue Exe entsteht.
Ist sowas möglich oder muss ich den vorhandenen Client.exe einlesen und dann über hex die Ip ändern?

Ich hoffe, dass ist einigermaßen verständlich.
mfg W4yne


JoelH - Fr 13.08.10 13:52

sowas steuerst du besser über Ini-Files, das ist wesentlich flexibler.


Chromic - Fr 13.08.10 14:01

Lies die IP doch einfach aus einer Datei ein, oder lass sie den Benutzer direkt im Client eingeben.

mfg Chromic


W4yne - Fr 13.08.10 14:15

Ja schon klar, das sollte nur ein Beispiel sein.
Ich wollte nur grundsätzlich wissen ob sowas auch möglich ist^^

mfg W4yne


Chromic - Fr 13.08.10 14:15

Wenn du nen Compiler hast schon, ja.


Xion - Fr 13.08.10 14:22

Die Frage kommt mir so unglaublich bekannt vor...

Ich würde es eher direkt in der EXE (als Textdatei geöffnet) ersetzen...ganz naiv würde ich mal sagen, da ne IP ja immer gleich lang ist (wenn du sie immer mit führenden Nullen eintippst), müsstest du die einfach ersetzen können ohne die EXE dabei zu schrotten ^^ Wenn du in Delphi dafür einen String anlegst, steht dieser String auch gleich im Klartext in der EXE.


Delete - Fr 13.08.10 15:18

user profile iconXion hat folgendes geschrieben Zum zitierten Posting springen:
Ich würde es eher direkt in der EXE (als Textdatei geöffnet) ersetzen...

Wenn ich so was als ernst gemeinten Vorschlag lesen schüttelt es mich. Eine Exe Datei dient dazu Code auszuführen und nicht dazu benutzerspezifische Daten zu speichern. So was gehört in eine Konfigurationsdatei oder in die Registry. Wenn man mal davon absieht, dass es nicht einfach ist daten in eienr geladenen Exe zu ändern, dürfte auch jeder halbwegs braucbare Virenscanner Alarm schlagen, wenn der Hash nicht mehr stimmt.

Also, lass den Blödsinn und mach es richtig.

Und was das Prinzip angeht, wurde ja schon gesagt, dass es geht, wenn du einen Compiler in dein Programm integrierst. Entweder suchst du dir eine Programmiersprache, in der Compiler frei vergügbar sind und die du mit weitergeben kannst, oder du schreibst dir deinen eigenen Compiler.


delfiphan - Fr 13.08.10 19:32

Du könntest mit Ressourcen arbeiten. Aber in der Praxis hast du ggf. gar keine Schreibrechte. Deployment über ein standalone EXE inkl. Konfiguration mag für gewisse Anwendungszwecke interessant klingen (z.B. selbstentpackende EXE), praxistauglich ist das für normale Zwecke aber nicht.


W4yne - Mo 16.08.10 19:40

Danke schön für die vielene Antworten. Dann lass ich das mal für zukünftige Projekte und bleib bei Registry und ini.

mfg W4yne