AGB  ·  Datenschutz  ·  Impressum  







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

Das Problem mit dem vergessenem TrayIcon

Ein Thema von Popov · begonnen am 2. Mär 2012 · letzter Beitrag vom 3. Mär 2012
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Popov
(Gast)

n/a Beiträge
 
#1

Das Problem mit dem vergessenem TrayIcon

  Alt 2. Mär 2012, 14:19
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?
  Mit Zitat antworten Zitat
sHoXx
(Gast)

n/a Beiträge
 
#2

AW: Das Problem mit dem vergessenem TrayIcon

  Alt 2. Mär 2012, 14:22
ich rufe im FormClose
    TrayIcon1.Destroy; auf, dann ist es bei mir weg.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Das Problem mit dem vergessenem TrayIcon

  Alt 2. Mär 2012, 14:25
ich rufe im FormDestroy
    TrayIcon1.Destroy; auf, dann ist es bei mir weg.
Häh ... das ist doch

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 Destroy freigeben sollte man besser lassen und dafür Free verwenden

EDIT: und der TE setzt eben keine Komponente dafür ein
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#4

AW: Das Problem mit dem vergessenem TrayIcon

  Alt 2. Mär 2012, 14:25
Genauso, wie du manuell das TrayIcon erstellst, mußt du es natürlich auch manuell wieder freigeben, wenn dein Programm beendet wird.

@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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: Das Problem mit dem vergessenem TrayIcon

  Alt 2. Mär 2012, 14:28
@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.
  Mit Zitat antworten Zitat
sHoXx
(Gast)

n/a Beiträge
 
#6

AW: Das Problem mit dem vergessenem TrayIcon

  Alt 2. Mär 2012, 14:31
gut, ich dachte du verwendest die Standardkomponente, und wolltest dir keine anderweitige komponente installieren. Manchmal sind die Finger schneller als der Kopf

vielleicht zeigst du etwas code, an dem man sehen kann, wie dein selbst erstelltes tryicon aussieht

Geändert von sHoXx ( 2. Mär 2012 um 14:34 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#7

AW: Das Problem mit dem vergessenem TrayIcon

  Alt 2. Mär 2012, 14:39
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: http://www.delphipraxis.net/30716-post2.html , da sie sogar passabel funktioniert und der Icon verschwindet fast immer. Einige Male blieb er aber.

Und bevor himitsu wieder fragt, alle enthalten diese Zeile: Shell_NotifyIcon(NIM_DELETE ...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Das Problem mit dem vergessenem TrayIcon

  Alt 2. Mär 2012, 14:49
Gibt es eine Standardkomponente in Delphi 7?
AFAIK Nein. Erst in neueren Delphi-Versionen liefert Borland/Codegear/Embaracadero eine Komponenten mit.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

AW: Das Problem mit dem vergessenem TrayIcon

  Alt 2. Mär 2012, 15:14
Hi, meinst du mit:

Zitat:
"Und alles funktioniert auch wie ich es will, nur nicht wenn das Programm beendet wird. "
Inder IDE per Stopp oder bei einem "normalem" Beenden des Programmes ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#10

AW: Das Problem mit dem vergessenem TrayIcon

  Alt 2. Mär 2012, 15:22
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.
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 09:52 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