AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi SendToBack - aber nicht ganz!
Thema durchsuchen
Ansicht
Themen-Optionen

SendToBack - aber nicht ganz!

Ein Thema von NicoleWagner · begonnen am 14. Mär 2020 · letzter Beitrag vom 18. Mär 2020
Antwort Antwort
NicoleWagner

Registriert seit: 6. Jul 2010
167 Beiträge
 
Delphi XE3 Professional
 
#1

SendToBack - aber nicht ganz!

  Alt 14. Mär 2020, 09:00
Gegeben ist ein Fenster, ich drücke den Button "starte Drittanwendung". Sobald die Drittanwendung fertig ist, übergibt sie wieder ins Fenster. So weit so fein.

Mein Problem: Ich möchte gerne sehen, ob die Drittanwendung ihren Job tut. Das würde ich auch, - wäre mein Aufruffenster nicht darüber gelegen.
Also schreibe ich in mein Aufruffenster "sendToBack..".
Das würde auch prima funktionieren, - wenn keine andere App läuft. Da wird nämlich so weit "toBack" gesendet, dass die andere Anwendung wieder optisch im Weg ist.

Kurzfassung: Ich bräuchte einen Weg zu meinem Fenster zu sagen: "Schieb Dich genau an zweite Stelle" (doch nicht GANZ in den Hintergrund). Oder aber: "schiebe Dich hinter nur jene Fenster, die zur eigenen Applikation im weitesten Sinne gehören". (und: An den Prozess oder das Fenster der Drittanwendung komme ich aus verschiedenen Gründen nicht ran.)

Danke für Tipps!
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

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

AW: SendToBack - aber nicht ganz!

  Alt 15. Mär 2020, 09:22
Hallo, in CreateProcess kannst du via StartupInfo und dem Feld dwFlags = STARTF_USESHOWWINDOW und wShowWindow = SW_SHOWNORMAL angeben wie die zu startende Anwendung dargestellt werden soll.
Dann ist es nicht mehr nötig dein anderes Programm weiter nach hinten zu setzen.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
NicoleWagner

Registriert seit: 6. Jul 2010
167 Beiträge
 
Delphi XE3 Professional
 
#3

AW: SendToBack - aber nicht ganz!

  Alt 16. Mär 2020, 09:56
danke!
Die App starte ich mit Code, der nicht von mit ist und den ich leider auch nicht bis in die Tiefer verstehe.
Unten ein Schnipsel, das sein könnte, wovon Du sprichst.
Hast Du einen Tipp für mich, was ich eintrage, um zu sagen:
"Zeige das Fenster, in dem die App läuft, im Vordergrund, ohne jedoch modal zu werden?"

Es ist eine Anwendung, die sich mit einem Dritt-Server verbindet. Ob und wann der antwortet, weiß ich nicht.
Daher möchte ich die Status-Ausgaben einerseits sehen, andererseits aber nicht die Kontrolle über mein Programm verlieren, wenn er wieder mal hängt auf Länger. (Der Delphi-Fremdcode findet irgendwann und irgendwie heraus, wann die App fertig ist und beendet sich.)

Hier ist ein Schnipsel aus dem recht langen Delphi-Fremdcode:


FillChar(si, SizeOf(TStartupInfo), 0);
with si do begin
cb:=Sizeof(TStartupInfo);
dwFlags:=STARTF_USESHOWWINDOW;
if ShowWin then wShowWindow:=SW_SHOWDEFAULT
else begin
dwFlags:=dwFlags or STARTF_USESTDHANDLES;
wShowWindow:=SW_HIDE;
end;
hStdOutput :=hChildStdoutWr;
end;
  Mit Zitat antworten Zitat
NicoleWagner

Registriert seit: 6. Jul 2010
167 Beiträge
 
Delphi XE3 Professional
 
#4

AW: SendToBack - aber nicht ganz!

  Alt 16. Mär 2020, 09:58
danke!
Die App starte ich mit Code, der nicht von mit ist und den ich leider auch nicht bis in die Tiefer verstehe.
Unten ein Schnipsel, das sein könnte, wovon Du sprichst.
Hast Du einen Tipp für mich, was ich eintrage, um zu sagen:
"Zeige das Fenster, in dem die App läuft, im Vordergrund, ohne jedoch modal zu werden?"

Es ist eine Anwendung, die sich mit einem Dritt-Server verbindet. Ob und wann der antwortet, weiß ich nicht.
Daher möchte ich die Status-Ausgaben einerseits sehen, andererseits aber nicht die Kontrolle über mein Programm verlieren, wenn er wieder mal hängt auf Länger. (Der Delphi-Fremdcode findet irgendwann und irgendwie heraus, wann die App fertig ist und beendet sich.)

Hier ist ein Schnipsel aus dem recht langen Delphi-Fremdcode:


Zitat:
FillChar(si, SizeOf(TStartupInfo), 0);
with si do begin
cb:=Sizeof(TStartupInfo);
dwFlags:=STARTF_USESHOWWINDOW;
if ShowWin then wShowWindow:=SW_SHOWDEFAULT
else begin
dwFlags:=dwFlags or STARTF_USESTDHANDLES;
wShowWindow:=SW_HIDE;
end;
hStdOutput :=hChildStdoutWr;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

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

AW: SendToBack - aber nicht ganz!

  Alt 16. Mär 2020, 16:24
Ich würde es so probieren
Delphi-Quellcode:
FillChar(si, SizeOf(TStartupInfo), 0);
with si do begin
cb:=Sizeof(TStartupInfo);
dwFlags:=STARTF_USESHOWWINDOW;
wShowWindow:=SW_SHOWNORMAL;
hStdOutput :=hChildStdoutWr;
end;
unter https://docs.microsoft.com/de-de/win...ser-showwindow
gibt es noch ein paar mehr Werte mit denen man wShowWindow zum Testen befüllen kann.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
NicoleWagner

Registriert seit: 6. Jul 2010
167 Beiträge
 
Delphi XE3 Professional
 
#6

AW: SendToBack - aber nicht ganz!

  Alt 17. Mär 2020, 09:37
Danke!!

Ich rufe das Programm nur einmal am Tag auf (sonst kostet der Abruf extra).
Ich melde mich, wenn ich einige Kombitionen getestet habe.
  Mit Zitat antworten Zitat
NicoleWagner

Registriert seit: 6. Jul 2010
167 Beiträge
 
Delphi XE3 Professional
 
#7

AW: SendToBack - aber nicht ganz!

  Alt 18. Mär 2020, 19:21
update: sieht wirklich gut aus, es scheint genau zu sein, was ich wollte.
Danke!
  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 11:11 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