Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi .Exe in Anwendung erstellen (https://www.delphipraxis.net/109103-exe-anwendung-erstellen.html)

Counter909 24. Feb 2008 16:34


.Exe in Anwendung erstellen
 
HI


also ich bin an so einem kleinen Programm, bei dem ich zunächst eine .exe starte und ich dort optionen wählen kann, die dann zu diesem Benutzer passen. Dann klickt man auf starten und ich möchte dann eine weitere .exe im Ordner ertellt bekommen....

wie kann ich das hinbekommen ? bzw wie ist überhaupt der Gedankengang ?

mit Tform.create erstellt man dann ja nur eine oberfläche, aber sie wird nicht als extr .exe gespeichert, also ist der Ansatz doch falsch oder ?


mfg
counter

TurboMartin 24. Feb 2008 16:50

Re: .Exe in Anwendung erstellen
 
Um eine EXE zu erstellen brauchst Du einen Compiler. Den von Delphi darfst Du nicht weitergeben. Ansonsten gibt es im .Net-Framework einen für C# und VB.Net. Selber schreiben wird dir nicht gelingen.

Counter909 24. Feb 2008 17:26

Re: .Exe in Anwendung erstellen
 
hmmmmm.... ich glaube dann hab ich mich vllt bisschen undeutlich ausgedrückt.

also im prinzip ist das programm was ich erst schreibe, dann ein Builder und daraus entsteht eine weiter .exe die ich dann ausführen kann. Klick ich auf diese .exe wird das prgramm gestartet mit den Optionen, die ich im builder ausgewählt habe.

Apollonius 24. Feb 2008 17:31

Re: .Exe in Anwendung erstellen
 
Das geht mit Resourcen. Du müsstest sozusagen eine "Standard-Exe" erstellen und in dieser dann mit den UpdateResource-Funktionen Ressouren verändern, aus denen die Standard-Exe die Einstellungen ausliest.

Counter909 24. Feb 2008 18:13

Re: .Exe in Anwendung erstellen
 
hmm aber wenn ich meine standart-exe ausführe dann muss ja noch eine extra "exe" erstellt werden, sodass ich im Ordner zwei "exen" habe, oder ?


ist das richtig mit diesem befehl hier:

assignfile(xxx, ExtractFilePath(paramstr(0)) + 'name');
assignfile(xxxx, ExtractFilePath(paramstr(0)) + 'name.exe');

idontwantaname 24. Feb 2008 18:44

Re: .Exe in Anwendung erstellen
 
Muss es denn eine extra Exe für die verschiedenen Einstellungen sein? Ich denke, dass ist nicht unbedingt zielführend, aber vllt kannst du uns nochmal erklären, wozu du das genau brauchst.

Counter909 24. Feb 2008 19:37

Re: .Exe in Anwendung erstellen
 
also ich will so einen kleine privaten Bot erstellen für ein Spiel.
und da ist es mir eben wichtig, dass man vorher gewissen Daten angibt,
wie "Zeit, Geld, etc." (ist ja auch unwichtig) und das Ziel ist es eben
für jeden Benutzer mit diesem Programm eine extra .exe zu erstellen, sodass
ich mit dem einen programm jedem eine private machen kann-....


mfg
counter

Prototypjack 24. Feb 2008 19:44

Re: .Exe in Anwendung erstellen
 
Moin,

Der Rote-Kasten wieß mich eben darauf hin, das ein neuer Post hinzukam. Solltest du wirklich einen Bot planen, bin ich mir nicht sicher, ob ich dir helfen soll. Denn solche Bots sind so gut wie immer ungern gesehen und vor allem: Illegal.

Solange das nicht geklärt ist, behalte ich meinen Ansatz noch etwas für mich.

Grüße,
Max

Crazy Ivan 24. Feb 2008 19:51

Re: .Exe in Anwendung erstellen
 
außerdem kann man die eigenen einstellungen doch auch im programm selbst machen oder? :roll:

omata 24. Feb 2008 19:54

Re: .Exe in Anwendung erstellen
 
Zitat:

Zitat von Counter909
also ich will ... einen kleinen privaten Bot erstellen für ein Spiel.
für jeden Benutzer mit diesem Programm eine extra .exe ... erstellen, sodass
ich mit dem einen programm jedem eine ...

passt das zusammen :gruebel:

Counter909 24. Feb 2008 19:54

Re: .Exe in Anwendung erstellen
 
Also das würd ich auf keine fall als illegal sehen....da er lediglich anzeigt bzw. mir melden soll und Alarm schlägt, wenn eine gewisse zeit abgelaufen und ich erinnert werde etwas durchzuführen

kennst doch bestimmt so mini-games bzw browser games wie "ogame, inselkampf, etc"


Edit: ich weiß ja nicht was ihr von mir denkt ^^ aber ich bin ja kein gott in sachen programmieren, sondern gerade bei fortgeschrittene angekommen und lerne jetzt so API und da kam mir diese Idee ^^

pilic 24. Feb 2008 20:07

Re: .Exe in Anwendung erstellen
 
Der einfachste Weg wäre mit einer Ini-Datei, aus der die Einstellungen von deiner Exe ausgelesen werden. Allerdings wären das dann schon 2 Dateien

Counter909 24. Feb 2008 20:11

Re: .Exe in Anwendung erstellen
 
Das wäre ja kein problem, aber dann ist das problem mit den Einstellungen gelöst.

Doch mein jetziges problem ist eigentlich nur, wie ich überhaupt eine zweite .exe erstellen kann mit eigenen funktionen

Mao 24. Feb 2008 20:30

Re: .Exe in Anwendung erstellen
 
Dann bleibt aber immer noch die Frage, warum/wozu. Denn eine EXE ist nicht nur eine einfache Ansammlung wilder Bytes, die sagen "Gib den Text auf dem Bildschirm aus" oder "Gib dem Button da die und die Beschriftung". Evtl. solltest du dich diesbezüglich mal mit Assembler auseinandersetzen.
Fast jedes Problem sollte sich einfacher lösen lassen, als eine EXE aus einem eigenen Programm heraus zu generieren.

Counter909 24. Feb 2008 20:41

Re: .Exe in Anwendung erstellen
 
also ist es nicht möglich in meinem programm als Ergebnis eine weiter .exe zu generieren ?

thkerkmann 24. Feb 2008 21:16

Re: .Exe in Anwendung erstellen
 
Zitat:

Zitat von Counter909
also ist es nicht möglich in meinem programm als Ergebnis eine weiter .exe zu generieren ?

Grundsätzlich ist es nicht unmöglich, nur die Sinnhaftigkeit wird hier hinterfragt.
Was spricht dagegen die Parameter in einer ini Datei abzulegen ?
Wo ist der tiefere Sinn dahinter eine 'gepatchte' exe zu haben ?

Der Ansatz mit den Einstellungen in der Resource ist ja noch am nächsten dran.
Mir erschließt sich jedoch wirklich nicht der Sinn dieser Vorgehensweise.

Gruss

Neotracer64 24. Feb 2008 21:21

Re: .Exe in Anwendung erstellen
 
Es ist möglich.
Aber nicht so einfach wie du denkst. Bzw. kommt es noch viel detaillierter auf deine Anforderungen an, welchen Weg du wählen kannst.
Ich denke mir mal eine verhältnismäßig leichte Implementation aus.
Eine einfache Beispiel-Lösung:

Man erstellt die fertige Exe, die alle Features enthält, aber erstmal nichts anderes tut ausser eine konstante hardcodierte Tabelle nach Adressen durchzusuchen, und wenn ein Eintrag der Tabelle kein Nullpointer enthält, dann wird diese Adresse gecalled.
Diese Addressen zeigen alle auf Prozeduren, die jeweils ein Feature darstellen.

Diese Exe inkludiert man in seinen Builder (als ByteArray oder als Ressource).
In dem Builder sucht sich der User nun die jeweiligen Funktionen der Exe mit Checkboxen aus.
Dann wird ersteinmal die "ganze" Exe mit allen Features aus dem Speicher in eine Datei geschrieben.
Nun wird zu jedem Feature, welches der User nicht ausgewählt hat, der passende Eintrag in der Tabelle (in der eben extrahierten EXE) nachgeschaut und geNULLt, sodass das Feature dort nicht vorhanden ist.
Die fertige exe hat am Ende zwar noch alle Features enthalten, führt aber nur die ausgewählten aus.

pilic 24. Feb 2008 21:29

Re: .Exe in Anwendung erstellen
 
Da fände ich es doch um einiges einfacher einfach Boolsche Werte in der Ini zu speichern und zu überprüfen, ob die Funktion ausgeführt werden soll. Dann müsste man halt noch die "Universal-Exe" mit ausliefern. Er hatte ja gesagt, dass es nicht darauf ankäme, nicht mehr als eine Datei zu benötigen.

Counter909 24. Feb 2008 22:12

Re: .Exe in Anwendung erstellen
 
äääähm ja ^^ erstmal vielen dank für die ganzen antworten

aber ich glaub das ist dann noch etwas zu vuel für mich, denn so viel versteh ich dann auch nicht :lol:


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