Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Hilfe ein Bug beim verstecken der TaskBar (https://www.delphipraxis.net/58990-hilfe-ein-bug-beim-verstecken-der-taskbar.html)

robinWie 15. Dez 2005 14:15


Hilfe ein Bug beim verstecken der TaskBar
 
Hi,

ich habe ein Programm um Bilder zu präsentieren und wärend der Show wird die TaskBar nicht mehr angezeigt, dazu benutze ich disen Code:
Delphi-Quellcode:
procedure TMainForm.ShowTaskBar(AShow: Boolean);
const
  cmdShow: array[Boolean] of Integer = (SW_HIDE, SW_SHOW);
var
  Handle: THandle;
begin
  Handle := FindWindow('Shell_TrayWnd', nil);
  if Handle <> 0 then
    ShowWindow(Handle, cmdShow[AShow]);

  MainForm.Activate;
end;
Bei FormClose habe ich ShowTaskBar(True) (Also TaskBar anzeigen) eingetragen eingetragen aber wenn ich das Programm mit dem Taskmanager beenden wird die TaskBar nicht angezeigt, was ziemlich fatal ist. Wie kann ich diesen Bug fixieren?

Danke im Voraus

Luckie 15. Dez 2005 14:16

Re: Hilfe ein Bug!
 
Würdest du bitte deinem Thread ein aussagekräftiges Topic geben? :roll:

mr.unbekannt 15. Dez 2005 14:20

Re: Hilfe ein Bug!
 
kannst du nicht einfach die form verkleienrn, so groß das nur noch die laufleiste zu sehen ist, aber es nicht komplett schließen? ansonsten könnte man noch eine zweite datei schrieben die dann die laufleiste beinhaltet, laut meinem wissen.

robinWie 15. Dez 2005 14:36

Re: Hilfe ein Bug beim verstecken der TaskBar
 
Zitat:

ansonsten könnte man noch eine zweite datei schrieben die dann die laufleiste beinhaltet, laut meinem wissen.
Ich habe zwar keine neue Datei geschrieben aber ist der Unit für das Project einfach unter Run geschreiben
Delphi-Quellcode:
if Application.Terminated then
    ShowDlg.ShowTaskBar(True);
ShowDlg beinhaltet die Procedre zum verstecken der Taskbar.

Danke für den Tipp

Luckie 15. Dez 2005 14:45

Re: Hilfe ein Bug beim verstecken der TaskBar
 
Zitat:

Zitat von robinWie
Bei FormClose habe ich ShowTaskBar(True) (Also TaskBar anzeigen) eingetragen eingetragen aber wenn ich das Programm mit dem Taskmanager beenden wird die TaskBar nicht angezeigt, was ziemlich fatal ist. Wie kann ich diesen Bug fixieren?

Wenn man den Prozess abschießt, wird OnClose nicht mehr ausgeführt. Probier mal, ob OnDestroy noch ausgeführt wird. Ansonsten, wer ein Programm mit Gewalt beendet, muss mit so was rechnen.

ichbins 15. Dez 2005 15:03

Re: Hilfe ein Bug beim verstecken der TaskBar
 
Wenn der Prozess über Prozessbeenden gekillt wird, wird garnix ausgeführt. Da wird der Prozess mitten in der Prozedur abgewürgt. Du könntest allerdings einen 2. Prozess machen der nur da ist um zu überprüfen ob der erste noch läuft. Wenn ja -> alles gut. Wenn nein -> Taskleiste wieder anzeigen und selber beenden. Im 1. Prozess musst du gleichzeitig überprüfen ob der 2. geladen ist. Wenn ja, alles gut, wenn nein, starten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 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