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
)
Danke,
Manu