![]() |
Das Problem mit dem vergessenem TrayIcon
Was ich eigentlich schon seit Jahren fragen wollte es aber immer wieder vergesse, das ist das Problem mit dem nicht mehr gültigen TrayIcon. Wahrscheinlich gibt es dafür eine einfache Lösung und und garantiert 127 Beiträge hier im Forum wie man es lösen kann, aber ich finde es nicht, oder ich benutze die falschen Suchbegriffe.
Und zwar ist es so, dass ich mir für TrayIcon keine Komponente installieren will, also mache ich es immer alleine. Und alles funktioniert auch wie ich es will, nur nicht wenn das Programm beendet wird. Dann bleibt das TrayIcon immer noch sichtbar. Gehe ich mit dem Mauszeiger drüber, verschwindet es. Aber bis dahin bleibt es da. Und wenn ich das Programm fünf weitere Mal starte, dann habe ich fünf Icons da. Also wie räumt man den Bereich auf? |
AW: Das Problem mit dem vergessenem TrayIcon
ich rufe im FormClose
Delphi-Quellcode:
auf, dann ist es bei mir weg.
TrayIcon1.Destroy;
|
AW: Das Problem mit dem vergessenem TrayIcon
Zitat:
a) eine Komponente, die auf der Form liegt (liegen sollte) und damit als Owner diese Form hat. Und dieser Owner kümmert sich schon um die Freigabe b) egal was mit
Delphi-Quellcode:
freigeben sollte man besser lassen und dafür
Destroy
Delphi-Quellcode:
verwenden
Free
EDIT: und der TE setzt eben keine Komponente dafür ein |
AW: Das Problem mit dem vergessenem TrayIcon
Genauso, wie du manuell das TrayIcon erstellst, mußt du es natürlich auch manuell wieder freigeben, wenn dein Programm beendet wird. :stupid:
@sHoXx: Wenn ich das richtig mitbekommen hab, dann geht er selber über die WinAPI und nutzt eben keine fertige Komponente. PS: Hat TrayIcon1 deine Form als Owner, dann gibt dieses das automatisch frei. |
AW: Das Problem mit dem vergessenem TrayIcon
@sHoXx
Wie gesagt, ich habe keine Komponente. Ich hab in den Jahren an die zig Varianten ausprobiert und einige sahen sogar gut aus und der Icon verschwand meistens. Aber nur meistens. Irgendwas fehlt da. @himitsu Das versteht sich von selbst. Daran liegt es nicht. |
AW: Das Problem mit dem vergessenem TrayIcon
gut, ich dachte du verwendest die Standardkomponente, und wolltest dir keine anderweitige komponente installieren. Manchmal sind die Finger schneller als der Kopf :D
vielleicht zeigst du etwas code, an dem man sehen kann, wie dein selbst erstelltes tryicon aussieht |
AW: Das Problem mit dem vergessenem TrayIcon
Gibt es eine Standardkomponente in Delphi 7?
Ich hab mit der Zeit so viele Versionen getestet, eigene Kreationen, aber auch aus dem Internet. Somit kann ich einen beliebigen Code zeigen. Ich glaube die habe ich zuletzt verwendet: ![]() Und bevor himitsu wieder fragt, alle enthalten diese Zeile:
Delphi-Quellcode:
Shell_NotifyIcon(NIM_DELETE ...
|
AW: Das Problem mit dem vergessenem TrayIcon
Zitat:
|
AW: Das Problem mit dem vergessenem TrayIcon
Hi, meinst du mit:
Zitat:
|
AW: Das Problem mit dem vergessenem TrayIcon
Ich glaube das ist dann der Fall, wenn das Programm abrupt terminiert wird, sodass es nicht aufräumen und somit den Tray wegschießen kann!
Weil unter normalen Umständen verschwindet der auch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 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