AGB  ·  Datenschutz  ·  Impressum  







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

Thread Problem?

Ein Thema von zeras · begonnen am 9. Mai 2020 · letzter Beitrag vom 13. Mai 2020
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Thread Problem?

  Alt 9. Mai 2020, 18:35
Was ist "Programm" - Ein eigener Prozess?
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#2

AW: Thread Problem?

  Alt 9. Mai 2020, 18:44
Was ist "Programm" - Ein eigener Prozess?
Programm1 wird als separater Thread vom Programm2 aufgerufen.
Reicht das als Info?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Thread Problem?

  Alt 9. Mai 2020, 20:39
Ich denke nicht.
Es ist noch viel unklar. Wie bekommst ihr das Python den in Delphi rein?
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#4

AW: Thread Problem?

  Alt 9. Mai 2020, 22:35
Vielleicht noch weitere Infos.

Programm1 startet verschiedene Python Scripte. Diese werden abgearbeitet und fertig. Alles OK.
Programm2 startet Programm1 und übergibt auch die gleichen Python Scripte.
Der Unterschied meines Erachtens ist, dass das Programm1 im Hauptthread läuft, das Programm2 als separater Thread im Programm2.
Das Programm2 startet einen Thread mit einer Schleife, die das Programm1 immer wieder mit neuen Parametern startet.
Die Scripte verarbeitet aber immer das Programm1.

Programm1 (ein fertiges Programm, kein Delphi, hier kann nichts geändert werden)
- Programm1 lädt Scripte und führt diese aus. Nach Info meiner Kollegen gibt es keine Probleme.

Programm2 (Delphi Programm, hier kann ich eventuell etwas ändern)
- Programm2 startet
- erzeugt einen Thread, der unabhängig vom UI Thread läuft
- Dateien werden bereitgestellt
- Programm1 wird mit Parameter (Python Scripte) gestartet. Hier werden die Python Scripte verarbeitet. Wenn ich in den Scripten zwischen den Dateimanilulationen immer ein sleep einbaue, scheint das sauber durchzulaufen. Deshalb hier die Frage, ob alles sequenziell verarbeitet wird, oder vielleicht ein Handle noch auf eine Datei zeigt, die vielleicht schon gelöscht wurde. Kann man sicher sein, dass alles sequenziell verarbeitet wird?
- Programm1 ist fertig
- Dateien werden gesichert
- Thread beginnt von vorn mit neuen Daten
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#5

AW: Thread Problem?

  Alt 9. Mai 2020, 23:36
Etwas Grundsätzliches zu den Begrifflichkeiten: Programme arbeiten immer in ihren eigenen Prozessen, und niemals in Threads anderer Programme/Prozesse. Jeder Prozess hat seine eigenen Threads. Selbst wenn man dieselbe EXE mehrfach startet, hat jeder Prozess seine eigenen Threads. Klar, es gibt DLL Injection und andere Spielchen, aber selbst dann läuft kein Prozess von Programm 2 als Thread von Programm 1. Prozesse und Threads sind verschiedene Dinge, erstere enthalten letztere, aber niemals umgekehrt.

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
702 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Thread Problem?

  Alt 10. Mai 2020, 15:53
Auch wenn ich erstmal nicht davon ausgehe das es am Zusammenspiel zwischen den beiden Programmen liegt, kannst Du mal den Code zeigen mit dem du Programm1 aufrufst? Bzw. wie du es realisiertst das Du auf das Ende von Programm1 wartest.

Ich habe bei mir auch einen Fall bei dem ich auf ein externes Programm warten muss. Das Programm läuft unterschiedlich lange und speichert dann eine Datei. Um nicht bis in alle Ehweigkeit zu warten gibt es einen Timeout, dann muss der Nutzer ran und muss die Daten von Hand einsammeln und auswerten.

Gibt Programm1 irgendwohin Statusmeldungen aus? In die Console? Die könnte man umleiten und auswerten.
Steht irgendwas im Windows Anwendungslog?
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#7

AW: Thread Problem?

  Alt 12. Mai 2020, 18:53
Danke für eure Infos.
Es ist offenbar schwierig zu umschreiben.

Meine Frage war eigentlich, ob sich ein Programm anders verhält, wenn man es einfach so startet oder ob man es in einen Thread packt und dort werkeln läßt. Vielleicht gibt es Threadeinstellungen, die ich nicht kenne.
Mittlerweile habe ich weitere Tests machen können und in dem Python Script, welches im Programm ausgeführt wird, eine Änderung vorgenommen. Offenbar gibt es im Programm Überschneidungen mit Schliessen von Dateien und dem gleichzeitigem Zugriff.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  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 20:52 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-2025 by Thomas Breitkreuz