AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Problem beim Auslesen von .lnk-Dateien
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Auslesen von .lnk-Dateien

Ein Thema von Edlmann · begonnen am 19. Nov 2010 · letzter Beitrag vom 19. Nov 2010
 
Benutzerbild von himitsu
himitsu

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

AW: Problem beim Auslesen von .lnk-Dateien

  Alt 19. Nov 2010, 12:04
Erstmal was zur Speicherverwaltung:
(abgesehn davon, daß es eher unklug ist, ein Objekt so zurückzugeben, da man das Prinzip "der Verursacher/Ersteller gibt's auf gleicher Ebene wieder frei" nicht einhalten kann)
Bei einer Exception würde das Object in AIcon als Speicherleck zurückbleiben.
Delphi-Quellcode:
AIcon := TIcon.Create;
try
  AIcon.Handle := FileInfo.HIcon;
  AIcon.Transparent := True;
except
  AIcon.Free; // bei Fehler freigeben
end;
Result := AIcon;
Delphi-Quellcode:
function FileIcon(FileName: String): TIcon;
var FileInfo: TSHFileInfo;
begin
  FillChar(FileInfo, SizeOf(FileInfo), #0);
  if SHGetFileInfo(PChar(FileName), 0, FileInfo, SizeOf(FileInfo), SHGFI_ICON) <> 0 then
    RaiseLastOSError;
  Result := TIcon.Create;
  try
    Result.Handle := FileInfo.HIcon;
    Result.Transparent := True;
  except
    Result.Free;
  end;
end;
(SHGFI_LARGEICON könnte man auch weglassen ... das ist eh 0)

So, zum Problem.
Hmmm, notfalls wirst du wohl in die LNK-Dateien reinsehn müssen.
(irgendwo gab's in der DP auch 'nen Code zum Auslesen)
Da schauen ob ein Icon zugeordnet ist.
- wenn ja, dann dieses nehmen
- wenn nein, dann über deine Funktion das Icon der Zieldatei besorgen
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


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 03:46 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-2025 by Thomas Breitkreuz