Thema: Delphi SpeedButton - kein Bild?

Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#15

Re: SpeedButton - kein Bild?

  Alt 30. Aug 2006, 18:32
Zitat von Martin K:
Sauber freigeben kannst du mit:
FreeAndNil(SpeedButton1.Glyph);
Martin, diesen Code hast du nicht getestet, stimmts? Der Compiler meiner Delphi-Version wollte die Zeile jedenfalls nicht...

Zitat:
Allerdings gibt es hier eine Exception, wenn dem Glyph noch kein Bitmap zugeordnet ist.
Warum sollte es in diesem Fall eine Exception geben?


Noch eine Anmerkung zur Funktion ExtractAssociatedIcon: diese erwartet im zweiten Parameter einen Zeiger auf einen Zeichenpuffer. Sie liefert in diesem Puffer den vollständigen Pfad- und Dateinamen der ausführbaren Datei zurück, in dem das Icon gefunden wurde. Die Übergabe eines dynamischen Strings oder gar einer String-Eigenschaft (Edit1.Text) wird somit früher oder später zu Abstürzen führen. Richtiger wäre es, einen Puffer geeigneter Größe bereitzustellen, diesen mit dem gewünschten Dateinamen zu füllen und schließlich den Puffer an die Funktion zu übergeben:

Delphi-Quellcode:
var
  buf : array [0..max_path] of char;
begin
  buf := 'yourfile.exe';
  ExtractAssociatedIcon(hInstance, buf, IconIndex);
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat