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 Probleme mit der Änderung des TNA-Icons (https://www.delphipraxis.net/49688-probleme-mit-der-aenderung-des-tna-icons.html)

ManuMF 14. Jul 2005 14:57


Probleme mit der Änderung des TNA-Icons
 
Hallo,

ich habe ein Problem, wenn mein Programm das TNA-Icon ändern soll: Es erscheint die Meldung "[X] Zugriffsverletzung bei Adresse..."

Der Code (gekürzt auf die wesentlichen Teile):
Delphi-Quellcode:

var IASymbol : TIcon;  // Global, da das in mehreren Prozeduren benötigt wird

procedure TaskBarAktualisieren;
  var tnid: TNotifyIconData;
begin
  with tnid do begin
    cbSize := SizeOf(TNotifyIconData);
    Wnd := PWRT_ClientForm.Handle;
    uID := 1;
    uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
    uCallbackMessage := WM_TASKBAREVENT;
    if (ServerAktiv) then
      hIcon := Application.Icon.Handle  // Hier wird geprüft, ob das Standard-Icon (kein Problem)...
    else
      hIcon := IASymbol.Handle;   // ...oder das 2. Icon verwendet werden soll (Fehlermeldung)
  end;
  StrCopy(tnid.szTip, PChar(ClientCaption));   // ClientCaption => Die QuickInfo
  Shell_NotifyIcon(NIM_MODIFY, @tnid);
end;

procedure TPWRT_ClientForm.FormCreate(Sender: TObject);
begin
  IconListe.GetIcon(0, IASymbol);  // Das Icon stammt aus einer ImageList
end;
(Es handelt sich um einen Client, auf dem eine Server-Komponente läuft, also nicht von den Namen verwirren lassen :wink: )

Danke,
Manu

scp 14. Jul 2005 15:16

Re: Probleme mit der Änderung des TNA-Icons
 
Vor dem GetIcon() fehlt ein
Delphi-Quellcode:
IASymbol := TIcon.Create;
In TPWRT_ClientForm.FormDestroy musst du dann natürlich auch
Delphi-Quellcode:
FreeAndNil(IASymbol);
einbauen.

ManuMF 15. Jul 2005 06:22

Re: Probleme mit der Änderung des TNA-Icons
 
:thumb: Danke!

Das hab ich vergessen... :oops:

Bin es nicht gewohnt, erst Create aufzurufen.


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