Hi,
Zitat von
Dezipaitor:
die
MSDN (*) schreibt, dass die Funktion erst ab Windows XP existiert.
Keine Ahnung, wusste davon nichts. Der Code funktioniert auch z. B. unter Windows 98 (selbst getestet; dort aber eben mit
ANSI). Was wohl erst seit XP geht ist:
Delphi-Quellcode:
function ...
external 'SHELL32.DLL' name 'PickIconDlg';
Daher verwendete man zuvor nur
index. Natürlich erhält man da - und nicht ohne Grund - ne Meldung von wegen Platform
unabhängigkeit. Eventuell sollte man daher die
OS-Unterscheidung nur machen, wenn GetProcAdress nil zurückliefert bei 'PickIconDlg'. Dann müsste man LoadLibrary nehmen, damits nicht beim Programmstart ne hübsche Meldung gibt bei altem
OS.
Zitat:
Übrigens: Der letzte Rückgabewert geschrieben in lpdwIconIndex muss ein Integer sein laut Definition.
Geändert nach Longint.
Zitat:
Am besten wäre es, wenn die Funktion über LoadLibrary und so geladen wird.
Siehe oben. Heute Abend ist mir das aber zu spät, noch was großes zu ändern.
Gute Nacht
FAlter