![]() |
Exe als Thread starten!
Ist es möglich von einem eigenen Programm eine andere als programmeigenen Thread zu starten? Ich weiß meine Frage ist ungewöhnlich und vllt. ein bisschen allumfassend, aber ich hoffe jemand kann mir helfen. Aber nicht nur mit "ja", sondern ein Beispiel wäre echt super. :-D
Schonmal danke im Vorraus MFG Wotan |
Re: Exe als Thread starten!
AFAIK nein. Ich denke falls es doch mögich wäre könntest du die üblichen Probleme bekommen die z.B. bei VCL-Komponenten auftreten wenn diese nicht im Hauptthread laufen.
|
Re: Exe als Thread starten!
@Bernhard Geyer: Die VCL ist nur nicht threadsave wenn VCL in einem anderen Thread arbeitet als die initialisierungsabschnitte abgearbeitet wurden. Pack man ein Programm komplett in eine DLL und lädt diese DLL innerhalb eines Threads dynamsich so kann man auch die VCL in einem seperaten Thread laufen lassen.
Zur Ursprungsfrage. Was genau hast du vor? Was ist das Ziel deines Vorhabens? Ein ganzes Programm als einen Thread laufen lassen kann nur bedingt möglich sein. Denn wenn das Programm weitere Threads anlegt laufen diese ja dann in einem anderen :wink: Zudem wüsste ich jetzt kein Szenario wo es nötig wäre ein anderes Programm umständlich in einem extra Thread zu starten anstelle gleich die Exe auszuführen. Es wäre also sinnvoll zu wissen was das Ziel sein soll um die optimalste Lösung zu finden (macht ja keinen Sinn sich unnötig Arbeit zu machen) |
Re: Exe als Thread starten!
Zitat:
|
Re: Exe als Thread starten!
Ich wollte, dass die seperate Exe innerhalb meines Prozesses läuft, damit der Code, welcher normal bei der seperaten Exe ausgeführt wird, in meinem Prozess läuft. Sozusagen mein Programm führt den Code des anderen aus^^. Klingt bestimmt verwirrend, aber richtige Anwendungen habe ich dafür nicht, da ich mich nur gefragt habe, ob es gehen könnte und wenn ja wie... Da es offensichtlich nicht geht, was ich mir gedacht habe hat sich die Sache schon erledigt :-D Danke MFG Wotan
|
Re: Exe als Thread starten!
Hi,
wenn du den Source für beide Programme hast: Eine EXE kann auch als DLL verwendet werden. Ist zwar unüblich, geht aber, denke ich. Einfach in der EXE eine Prozedure wie in einer DLL bekannt machen (EXPORTS). Die kann dann "normal" wie aus einer DLL aufgerufen werden... |
Re: Exe als Thread starten!
Nein, das geht nicht. Ein Prozess hat immer einen eignen Adressraum. Und du kannst nicht zwei Adressräume verschachteln, was aber nötig wäre, wenn ein Prozess im Adressraum eines anderen Prozesses laufen soll. Das ist ja auch unsinnig, dazu gibt es ja Prozesse und Threads.
|
Re: Exe als Thread starten!
Was er zu wollen scheint, ist ein fork()
|
Re: Exe als Thread starten!
OK?? Was ist ein Fork? Kenn ich nur aus der Musik^^ Ich wollte ursprünglich eine Passwortabfage für eine seperate exe machen, bevor man sie starten kann z.B: den I-Net-Explorer. Aber eben nicht durch Verschlüsselung, sondern durch Manipulation der Exe.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 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