AGB  ·  Datenschutz  ·  Impressum  







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

Externen Prozess starten und beenden

Ein Thema von Rainer Wolff · begonnen am 2. Feb 2022 · letzter Beitrag vom 2. Feb 2022
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#1

AW: Externen Prozess starten und beenden

  Alt 2. Feb 2022, 11:37
Das zweite Problem ist aber auch noch ungelöst: Der Prozess soll erst beendet werden, wenn sich die Delphi-Komponenten verabschiedet haben.
Das ist in der Tat schwierig, da die erzeugten Forms und DataModules in der Regel erst im DoneApplication freigegeben werden. Das ist private und wird normalerweise im Zuge der ExitProcs aufgerufen, zu denen auch die Finalization-Bereiche der Units gehören.

Wenn du also unbedingt etwas ausführen musst, dann pack das in das finalization einer neuen Unit und setze die in der DPR an die erste Stelle der uses-Anweisung. In der Unit darf dann natürlich nicht sowas wie Vcl.Forms stehen oder so. Was auch immer du da machst muss mit möglichst wenig externen Referenzen auskommen.

Eventuell reicht es aber auch, sich in das OnDestroy des als erstes erzeugten Forms/DataModules einzuhängen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Externen Prozess starten und beenden

  Alt 2. Feb 2022, 11:56
oder ohne viel aufwand über eine batch starten, als exitcode das handle geben so das es außerhalb deiner app.exe instanz verwendet werden kann um den besagten prozess zu terminieren.
unschön aber effektiv.

//edit
aufbauend auf diesen gedanken kann man ja auch der externen app beibringen auf parameter zu gehorchen falls das technisch bei dir überhaupt möglich ist/sinn macht
so in etwa
Delphi-Quellcode:
@echo off
service.exe /start
application.exe
service.exe /stop
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 2. Feb 2022 um 13:11 Uhr)
  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:08 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