![]() |
Fehler: Privelgierte Anweisung beim laden eines Icons
Hi,
wenn ich mit folgenden Code ein Icon aus einer Datei lade, bekomme ich die untenstehende Fehlermeldung. Der Debugger bleibt beim end; stehen. Wo liegt der Fehler?
Delphi-Quellcode:
function GethIcon(FileName: String; icoSize: Cardinal; icoIndex: integer = 0): Cardinal; var DeskTopISF: IShellFolder; IExIcon: IExtractIcon; PathPidl: PItemIDList; hIconL, hIconS: HIcon; begin Result := 0; if SHGetDesktopFolder(DeskTopISF) <> NOERROR then Exit; PathPidl := nil; if DeskTopISF.GetUIObjectOf(0, 1, PathPidl, IID_IExtractIconA, nil, IExIcon) <> NOERROR then Exit; if (IExIcon.Extract(PChar(FileName), icoIndex, hIconL, hIconS, icoSize or (16 shl 16)) = NOERROR) and (hIconL <> 0) then Result := hIconL; DestroyIcon(hIconS); end; //Aufruf: Icon.handle := GethIcon('C:\Program Files\Mozilla Firefox\firefox.exe', 16, 0); Zitat:
Andy |
Re: Fehler: Privelgierte Anweisung beim laden eines Icons
"Priviligierte Anweisung" kenne ich nur von meinen wenigen Ausflügen in die Assembler-Welt, wenn man bestimmte Aktionen durchführen möchte, die nur im Kernel-Mode erlaubt sind. Aber auf der ersten Blick ist davon jetzt hier nicht zu sehen...
|
Re: Fehler: Privelgierte Anweisung beim laden eines Icons
Kannst du mal in der CPU-Ansicht schauen, wo das auftritt?
|
Re: Fehler: Privelgierte Anweisung beim laden eines Icons
Bei
Zitat:
|
Re: Fehler: Privelgierte Anweisung beim laden eines Icons
Wo steht dieses Leave? Delphi verwendet das normalerweise nicht. Kannst du mal einen Screenshot posten?
|
Re: Fehler: Privelgierte Anweisung beim laden eines Icons
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
EDIT: Vllt. hilft noch folgender Code:
Delphi-Quellcode:
Binary ist eine String-Eigenschaft von TBrowserInfo mit den Dateiname inkl. Pfad
function TBrowserInfo.GetIcon(Size: Cardinal = 32):TIcon;
begin Result.Handle := GethIcon(Binary, Size, 0); end; |
Re: Fehler: Privelgierte Anweisung beim laden eines Icons
Das ist doch schon nach einer Exception (siehe @HandleAnyException).
|
Re: Fehler: Privelgierte Anweisung beim laden eines Icons
Liste der Anhänge anzeigen (Anzahl: 1)
Und noch ein Bild...
|
Re: Fehler: Privelgierte Anweisung beim laden eines Icons
Auch das ist zu spät (Kernel32.RaiseException). Der Debugger stoppt da nur, weil in dem vorherigen Call das eigentlich Werfen der Exception stattfand.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 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 by Thomas Breitkreuz