![]() |
Verküpfungsziel richtig erkennen
Tachen zusammen
Ich hab versucht das Ziel eines Links zu bekommen und hab nur den kurzen (8.3) namen zurückbekommen. ich brauch aber undebingt den langen! hab schon nach funktionen gesucht den umzuwandeln aber das schein nicht richtig zu funktionieren. Vielleicht kennt ja jemand ne Methode die Einem den richten Namen zurückgibt? Ich hab dazu eine Jediunit genommen. :hi: |
Re: Verküpfungsziel richtig erkennen
Moin Flogo,
das hatten wir doch gerade gestern :gruebel: ;-) Schau Dir mal die API GetLongPathname an. |
Re: Verküpfungsziel richtig erkennen
Hoppla hab ich übersehen :oops:
Hatte vor ein paar Tagen schon mal gesucht und nix passendes gefunden. Hab nicht damit gerechnet dass es so schnell ne zweite Lösung gibt :dp: Danke |
Re: Verküpfungsziel richtig erkennen
Das ist jetzt wahrscheilich ne dumme Frage :duck: aber was muss ich denn für ne Unit einbinden damit des tut. Das ist so ein grundsätzliches Problem von mir: wo finde ich welche unit ich für einen Befehl brauche, der nicht in der Hilfe steht.
Hab mal gegooglet aber nur selbstgeschriebene Methoden gefunden die GetLongPathname hießen. und die scheinen bei mir nicht richtig zu funktionieren |
Re: Verküpfungsziel richtig erkennen
Hai Flogo,
IMHO müsste es die ShellAPI sein, die brauchst Du immer wenn Du auf API-Funktionen zugreifen möchtest. |
Re: Verküpfungsziel richtig erkennen
hmmm... die hab ich drin aber er gibt mir trotzdem den Fehler "Undeclared Identifier: GetLongPathname"
|
Re: Verküpfungsziel richtig erkennen
Ups,
habe es eben erst getestet. Bei mir auch. Laut SDK gibt es die Funktion. Zitat:
|
Re: Verküpfungsziel richtig erkennen
Zitat:
wennn "ja", dann wie also mit welcher Unit?? |
Re: Verküpfungsziel richtig erkennen
Moin Flogo,
dass heisst, dass es die Funktion ab Windows 2000 gibt. Da XP später herausgekommen ist, wird die Funktion dort auch unterstützt. Ich vermute mal, dass es so keine Unit gibt, in der die Funktion enthalten ist. Du müsstest sie selber importieren. |
Re: Verküpfungsziel richtig erkennen
Ich glaub ich habs schon so gelöst (hab eine von den selbstgeschriebenen noch n bisschen erweitert) aber aus interesse: Wie kann ich die denn importieren?
|
Re: Verküpfungsziel richtig erkennen
Hi,
ich hatte grad das selbe Problem, das ich die Funktion GetLongPathName gesucht habe, aber nicht die passende Unit wusste. Beim googlen bin ich auf ![]() |
Re: Verküpfungsziel richtig erkennen
Kein Wunder das sich die Leute das lieber selber geschrieben haben. Das ist echt weniger Arbeit.
Falls es dich noch interessiert hier die Variante die ich benutzt hab (auf mein Problem abgestimmt, muss also wahrscheinlich noch erweitert werden (Fehlerüberprüfung,....))
Delphi-Quellcode:
function TForm1.GetLink(FileName: String): String;
var ShellLink: TShellLink; SR: TSearchRec; Temp: String; begin ShellLinkResolve(FileName, ShellLink); // Aus der JclShell Temp := Ed_Lnk.Text + ExtractFileName(ShellLink.Target); // Link wird korrigiert If FindFirst(PChar(Temp), faAnyFile, SR) = 0 Then Result := SR.Name // Datei gefunden else // falscher Link begin OpenDialog.Title := 'Ich kann die Datei ' + Temp + ' nicht finden. Such selber danach!'; OpenDialog.InitialDir := Ed_Lnk.Text; if OpenDialog.Execute then Result := ExtractFileName(OpenDialog.FileName) else Result := ''; end; FindClose(SR); end; |
Re: Verküpfungsziel richtig erkennen
Bei mir wird TShellLink als Undeklariertes Objekt gedeutet. Welche Unit muss ich hinzufügen?
|
Re: Verküpfungsziel richtig erkennen
JclShell
|
Re: Verküpfungsziel richtig erkennen
Datei kann nicht gefunden werden -> Liegt das an D6 Personal?
|
Re: Verküpfungsziel richtig erkennen
JCL klingt sehr nach "Jedi Component Library" - keine ahnung ob das richtig ist. Wenn du die nicht installiert hast ist die natürlich auch nicht vorhanden
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 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