AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Shellexecute Problem

Ein Thema von danu1104 · begonnen am 1. Nov 2011 · letzter Beitrag vom 1. Nov 2011
Antwort Antwort
danu1104

Registriert seit: 4. Dez 2006
75 Beiträge
 
Delphi 2006 Personal
 
#1

Shellexecute Problem

  Alt 1. Nov 2011, 19:45
Hallo

Ich habe ein Problem und zwar öffne ich im Temp ordner eine Datei, die soll aber in einem ordner auf dem Desktop zeigen also mit WorrkingDir ExtractFilePath(Paramstr(0)) das funktioniert aber nicht er such die datein im Temp Ordner , warum?!

Code:
shellexecute(handle,'open','..\temp\datei.exe',nil,Pchar(ExtractFilePath(Paramstr(0))),SW_SHOW);
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: Shellexecute Problem

  Alt 1. Nov 2011, 19:48
Ist denn "datei.exe" von Dir?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
danu1104

Registriert seit: 4. Dez 2006
75 Beiträge
 
Delphi 2006 Personal
 
#3

AW: Shellexecute Problem

  Alt 1. Nov 2011, 19:52
Ist denn "datei.exe" von Dir?
Habe für einen Kollegen einen Updater gecodet , sein Program ist mit ExeOutput gemacht also für PHP http://www.exeoutput.com/.

Dieses Programm benötigt paar php dlls, und die suht er im ordner Temp\Data\Ext statt im ProjectOrdner\Data\Ext

updater .exe liegt im ProjectOrdner daher dachte ich es funktioniert mit ExtractFilePath(...
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

AW: Shellexecute Problem

  Alt 1. Nov 2011, 19:55
Ich kenne das Programm jetzt nicht, aber wäre es nicht möglich, dass es die DLLs auch im eigenen Verzeichnis sucht statt im aktuellen Arbeitsverzeichnis? In dem Fall kannst Du nämlich übergeben, was Du willst, es wird nie klappen, solange Du das Programm von woanders startest.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: Shellexecute Problem

  Alt 1. Nov 2011, 19:56
Als Programmierer kann man das Arbeitsverzeichnis auch "ignorieren".
Und schon wäre diese Vorgabe völlig sinnlos.

Solche relativen Pfade, wie du ihn grade nutzt, also mit . und .. , verwendet man einfach nicht.

Denn genau wegen solchen verbogenen Arbeitsverzeichnissen, ist es nicht einfach zu sagen, wohin soein relativer Pfad schlußendlich zeigt.


[add]
Windows sucht die DLLs und das sucht niemals im Arbeitsverzeichnis (denn die haben da ordentlich gearbeitet), sondern nur im Programmverzeichnis und z.B. in den Systemverzeichnissen.
$2B or not $2B

Geändert von himitsu ( 1. Nov 2011 um 19:58 Uhr)
  Mit Zitat antworten Zitat
danu1104

Registriert seit: 4. Dez 2006
75 Beiträge
 
Delphi 2006 Personal
 
#6

AW: Shellexecute Problem

  Alt 1. Nov 2011, 19:58
Ich kenne das Programm jetzt nicht, aber wäre es nicht möglich, dass es die DLLs auch im eigenen Verzeichnis sucht statt im aktuellen Arbeitsverzeichnis? In dem Fall kannst Du nämlich übergeben, was Du willst, es wird nie klappen, solange Du das Programm von woanders startest.
hmm, hört sich logisch an. Naja dann werde ich es wohl mal anders versuchen

Ich danke dir für deine schnelle hilfe!

Code:
Solche relativen Pfade, wie du ihn grade nutzt, also mit . und .. , verwendet man einfach nicht.
habe ich nicht, ich nutze JvComputerInfoEx.Folders.Temp
Sollte also nur ein Beispiel sein.

Best Regards
Danu.
Daniel

Geändert von danu1104 ( 1. Nov 2011 um 20:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Shellexecute Problem

  Alt 1. Nov 2011, 20:02
Siehe mein Add.

Statische geladene DLLs kann nur Windows suchen und sonst gibt man selten einen Suchpfad mit an, wenn man MSDN-Library durchsuchenLoadLibrary verwendet.
PS: Dort steht auch irgendwo, wie und wo gesucht wird.



Kopiere die DLLs doch mit zum Programm rüber oder leg sie in eines der Suchverzeichnisse.
$2B or not $2B
  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 10:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz