AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Exe als Thread starten!

Ein Thema von Wotan89 · begonnen am 9. Dez 2007 · letzter Beitrag vom 19. Dez 2007
Antwort Antwort
Wotan89

Registriert seit: 20. Nov 2007
77 Beiträge
 
Delphi 2005 Personal
 
#1

Exe als Thread starten!

  Alt 9. Dez 2007, 20:52
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.

Schonmal danke im Vorraus MFG Wotan
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Exe als Thread starten!

  Alt 9. Dez 2007, 20:59
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Exe als Thread starten!

  Alt 9. Dez 2007, 21:30
@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 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)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Exe als Thread starten!

  Alt 9. Dez 2007, 22:00
Zitat von SirThornberry:
@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.
Danke für die Info. Bisher kannte ich den genauen Grund noch nicht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Wotan89

Registriert seit: 20. Nov 2007
77 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Exe als Thread starten!

  Alt 9. Dez 2007, 22:01
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 Danke MFG Wotan
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Exe als Thread starten!

  Alt 10. Dez 2007, 07:48
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...
Gruß
Norman
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Exe als Thread starten!

  Alt 10. Dez 2007, 08:34
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

Re: Exe als Thread starten!

  Alt 19. Dez 2007, 09:53
Was er zu wollen scheint, ist ein fork()
  Mit Zitat antworten Zitat
Wotan89

Registriert seit: 20. Nov 2007
77 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Exe als Thread starten!

  Alt 19. Dez 2007, 12:54
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr.
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