Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Probleme mit CreateLink() (https://www.delphipraxis.net/205929-probleme-mit-createlink.html)

freimatz 31. Okt 2020 09:11

Delphi-Version: 5

Probleme mit CreateLink()
 
In der Code-Bibliothek habe CreateLink() gefunden.
Das funktioniert nicht so wie ich mir das vorstelle. Zu Beginn habe ich folgende Parameter:
Watch Name Value
lpszPathObj 'C:\Users\Max\AppData\Roaming\Foo\Fuu\FD727158BDE1 8FF08CAC85EF911FB87D'
lpszPathLink 'C:\Bla\AppData.lnk'
lpszDesc 'AppData-Folder'

Am Ende der Funktion gibt es dann im Ordner "C:\Bla" eine Datei "AppData.lnk". Wenn ich im Explorer auf Eigenschaften gehe, dann steht da bei Zielort "Desktop" und bei Ziel: "C:\Users\Max\Desktop\C"

Ist die Funktion nur für Desktop-Verknüpfungen geeignet oder was mache ich falsch?

Dalai 31. Okt 2020 10:09

AW: Probleme mit CreateLink()
 
Da ich ganz stark davon ausgehe, dass du ein Unicode-Delphi benutzt, solltest du
Delphi-Quellcode:
IID_IShellLinkA
durch
Delphi-Quellcode:
IID_IShellLink
ersetzen.

Grüße
Dalai

freimatz 31. Okt 2020 13:26

AW: Probleme mit CreateLink()
 
Ah ja. Danke.

Nun stören mich nur noch die Schutzverletzungen :wink:
Mich irritiert das "//---> Runtime-Error wenn aktiv"
Das halte ich eh für falsch. "_Release" ruft man doch nicht manuell auf, das geht doch automatisch.
Stattdessen schreibe ich "ppf := Nil;" und "psl := Nil;". Das ist zwar auch überflüssig, aber bei einem Fehler "knallt" es dann schon dort und nicht erst wenn Delphi das automatisch freigibt.
Oder sehe ich das falsch?

Dalai 31. Okt 2020 17:32

AW: Probleme mit CreateLink()
 
Mit Sicherheit sagen kann ich es auch nicht. Bislang weise ich aber ebenfalls einfach nil zu, um IShellLink und IPersistFile freizugeben.

Grüße
Dalai


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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