Thema: Delphi Das Handle ist ungültig

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#81

AW: Das Handle ist ungültig

  Alt 6. Mai 2018, 19:37
Zitat:
Warum? Inwiefern? Hast du den von mir geschilderten Weg ausprobiert, und wenn ja, was war das Ergebnis? Momentan wüsste ich nicht, warum eine Extraktion eines Pfads aus einem indirekten Ressourcen-Strings und dem anschließenden Expandieren von Umgebungsvariablen scheitern sollte.
Ganz einfach..
DisplayName wurde mit deiner Funktion bearbeitet.
Das heißt egal welches Windows System welchen String übergibt. %windir%, %SystemRoot%, %futz%
Deine Funktion den richtigen Pfad zurück gibt vorausgesetzt er existiert in der Realität.

Nun! Die kann ich aber für das Icon nicht verwenden.
Also nutze ich jetzt meine Extrakt Routine mit %SystemRoot% und ein andere hat aber %Windir% was passiert?
Richtig das Icon wird falsch angezeigt oder hast du das nicht gesehen auf dem Screenshot?
Zitat:
Was muss Delphi denn da finden *kopfkratz*? Wenn die Konstante der DLL nicht definiert ist, kann man die noch nachpflegen
Logisch darum geht es gar nicht sondern das es diese Funktion in den Uses nicht gibt.
Langsam sollten die ihre Bibliotheken mal aktualisieren.
Sonst kann man direkt wieder nach VB6 zurück gehen da musste man auch alle API's zusammen suchen.

Zitat:
PS: Wusste gar nicht, dass es Windows-Systeme mit einem anderen Pfadtrenner als dem Backslash gibt. Interessant.
Man lernt halt immer wieder dazu

if SHLoadIndirectString(PWideChar(IconPfad), Lbuf, Length(Lbuf), Pointer(nil^)) = S_OK then
gibt zurück = '' = nothing.
Weil der IconPfad zur IconResource keinen string enthält ist ja auch logisch da liegt ein Icon.-

gruss

Geändert von EWeiss ( 6. Mai 2018 um 19:43 Uhr)
  Mit Zitat antworten Zitat