AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi IShellLink SetPath gibt E_INVALIDARG zurück
Thema durchsuchen
Ansicht
Themen-Optionen

IShellLink SetPath gibt E_INVALIDARG zurück

Ein Thema von Dalai · begonnen am 20. Jun 2015 · letzter Beitrag vom 27. Jun 2015
Antwort Antwort
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#1

AW: IShellLink SetPath gibt E_INVALIDARG zurück

  Alt 20. Jun 2015, 20:56
Ach, noch eine Info: unter Win2k arbeitet die Funktion "normal", sie setzt allerdings dem Dateinamen den Pfad zum Desktop des aktuellen Nutzers voran, so dass dann im Beispiel
Code:
C:\Dokumente und Einstellungen\Administrator\Desktop\blub.exe
rauskommt. Ab XP gibt es das E_INVALIDARG.

MfG Dalai
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#2

AW: IShellLink SetPath gibt E_INVALIDARG zurück

  Alt 27. Jun 2015, 16:36
Wenn sonst keiner eine Idee hat, werde ich die Exception fangen, diese dem Nutzer anzeigen (beides bereits der Fall) und in die FAQ/Known Issues einen Hinweis auf das "Problem" aufnehmen, der die Ursache erklärt. Gern würde ich das schöner machen, aber da ich nicht weiß, woran es genau liegt, und noch weniger, wie ich es beheben/umgehen/abfangen soll, sehe ich keine andere Möglichkeit.

MfG Dalai
  Mit Zitat antworten Zitat
redox
(Gast)

n/a Beiträge
 
#3

AW: IShellLink SetPath gibt E_INVALIDARG zurück

  Alt 27. Jun 2015, 17:13
http://www.entwickler-ecke.de/topic_...n_38600,0.html

Runterblätter bis zum 2. Beitrag von "Sprint".

Könnte helfen/umsetzbar sein
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#4

AW: IShellLink SetPath gibt E_INVALIDARG zurück

  Alt 27. Jun 2015, 17:32
Und was genau davon soll mir helfen? Oder anders gefragt: Wo ist die Verbindung zu diesem Problem hier?

MfG Dalai
  Mit Zitat antworten Zitat
redox
(Gast)

n/a Beiträge
 
#5

AW: IShellLink SetPath gibt E_INVALIDARG zurück

  Alt 27. Jun 2015, 19:09
Und was genau davon soll mir helfen? Oder anders gefragt: Wo ist die Verbindung zu diesem Problem hier?

MfG Dalai
Ich dachte (ohne groß drüber nachzudenken) an die Zeile mit
"SetPath wirft immer E_INVALIDARG (0x80070057) raus, wenn man einen Dateinamen ohne Pfad..." aus #1

Aber das Result von FileExists() ist Dir schon bekannt, oder?

if FileExists() then Setpath... else Fehlermeldung().

LG
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#6

AW: IShellLink SetPath gibt E_INVALIDARG zurück

  Alt 27. Jun 2015, 19:22
Die Verwendung von FileExists würde voraussetzen, dass die Datei IMMER zuverlässig gefunden wird, egal ob 32 oder 64 Bit System, egal ob WOW64, egal ob Umgebungsvariable oder sonstwas. Könntest du das mit einem Algorithmus garantieren? Ich nicht. Man kann mit PathFindOnPath und FileSearch eine ganz brauchbare Annäherung erreichen, aber eine hundertprozentige Garantie geben die auch nicht her. Daher bin ich zu o.g. Entschluss gelangt, bevor ich zuviel "Kollateralschaden" verursache.

MfG Dalai

Geändert von Dalai (27. Jun 2015 um 19:25 Uhr)
  Mit Zitat antworten Zitat
redox
(Gast)

n/a Beiträge
 
#7

AW: IShellLink SetPath gibt E_INVALIDARG zurück

  Alt 27. Jun 2015, 19:48
Wenn Dir fileExists() nicht genügt, dann schildere Dein Problem bitte etwas genauer und auf das Wesentliche reduziert.

Lt. #1 gehts Dir um "Dateinamen ohne Pfad"?

Was willst Du denn von dem (möglicherweise) frei erfundenen Dateinamen wissen?

Wer bekommt den Dateinamen der nicht existierenden Datei von wem?

Sorry, möglicherweise kapiere ich Dein Problem einfach nicht

=====
P.S. Willst Du den "VirtualStore" oder wie immer das Ding heißt, mit einem in Stein gemeißelten Pfad (egal ob XP, >Vista 32-bit oder >Vista 64-bit) auf der Festplatte ermitteln?

Geändert von redox (27. Jun 2015 um 19:59 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:58 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