Autor Beitrag
delphijanka
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 151

WinXP
D 2009 Arc., Java, C
BeitragVerfasst: Mi 12.05.10 12:44 
Hallo. Ich habe ein Problem.

Mein Programm X ruft intern ein anderes Programm Y auf, um eine Aufgabe zu durchzuführen. Dies tue ich mit ShellExecute. Ich habe festgestellt, dass wenn ich das Programm X in gewisse Verzeichnisse verschiebe, wird das Programm Y nicht aufgerufen. Ich habe mir gedacht, es könnte nicht ausreichender Berechtigung liegen, das Programm Y zu starten oder ShellExecute anzuwenden.

- Wie könnte ich das Problem umgehen?
- Wie könnte ich das Programm für das jeweilige Verzeichnis freigeben?
- Geht das auch aus Delphi heraus?

Danke für Antworten.


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Mi 12.05.2010 um 13:31
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Mi 12.05.10 13:08 
user profile icondelphijanka hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe festgestellt, dass wenn ich das Programm X in gewisse Verzeichnisse verschiebe, wird das Programm Y nicht aufgerufen. Ich habe mir gedacht, es könnte nicht ausreichender Berechtigung liegen,


Wenn Du es evtl weisst, mit den Berechtigungen, warum machst Du es dann!?
Unabhängig davon, wenn Du in andere Verzeichnisse zugriff hast, dürfte shellexecute eigentlich nicht meckern.
kommt natürlich auch darauf an, User/Admin usw.
Oder, Du vergisst die richtigen PFADANGABEN MIT ZU ÜBERGEBEN!

Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
delphijanka Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 151

WinXP
D 2009 Arc., Java, C
BeitragVerfasst: Mi 12.05.10 13:27 
Ja, ich bin kein Admin. Könnte daran liegen, dass für bestimmte Laufwerke das Ausführen eines Programms nicht erlaubt ist.
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mi 12.05.10 13:40 
Das schöne ist das ShellExecute einen Rückgabewert hat. Den schon mal überprüft und nachgeschaut was rauskommt?

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19313
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 12.05.10 15:10 
Eine andere Möglichkeit: Ab Vista leitet Windows Zugriffe auf nicht erlaubte Verzeichnisse (C:\program files, c:\windows, ...) auf die Anwendungsdaten um, in denen Schreibzugriff besteht. Es kann also sein, dass dadurch etwas schief geht, wenn man dabei etwas falsch macht.

Deshalb ist wirklich die Frage welcher Fehler zurückkommt: Zugriff verweigert oder nicht gefunden oder ...?
DonManfred
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148
Erhaltene Danke: 2

Windows 7
Delphi XE3 Pro + HTML5Builder
BeitragVerfasst: Di 18.05.10 12:50 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Deshalb ist wirklich die Frage welcher Fehler zurückkommt: Zugriff verweigert oder nicht gefunden oder ...?


Aber das ist ja dann entgegen der Direktive "bloss keine Fehlermeldungen in Fehlerbeschreibungen verwenden" :-)

_________________
Gruss Manfred