AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein ShellExecute führt den Befehl nicht aus
Thema durchsuchen
Ansicht
Themen-Optionen

ShellExecute führt den Befehl nicht aus

Ein Thema von HPB · begonnen am 2. Jul 2014 · letzter Beitrag vom 2. Jul 2014
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: ShellExecute führt den Befehl nicht aus

  Alt 2. Jul 2014, 11:28
Steht in FPfadPDFAblage auch der absolute Pfad?
Markus Kinzler
  Mit Zitat antworten Zitat
HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#2

AW: ShellExecute führt den Befehl nicht aus

  Alt 2. Jul 2014, 13:49
Steht in FPfadPDFAblage auch der absolute Pfad?
Guten Tag mkinzler,
ja in der Variable steht auch der der absolute Pfad.
Mit Gruß
HPB
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: ShellExecute führt den Befehl nicht aus

  Alt 2. Jul 2014, 13:52
Was gibt ShellExecute denn zurück?
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 baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: ShellExecute führt den Befehl nicht aus

  Alt 2. Jul 2014, 14:01
Meiner Meinung nach fehlt in der Batchdatei einfach nur der Pfad wo die Datei unbenannt.pdf zu finden ist. Führt man die Batchdatei da aus wo sich diese unbenannt.pdf-Datei befindet, geht das natürlich, da man zuvor in das Verzeichnis wechselt. Der Verzeichniswechsel wird allerdings nicht im ShellExecute gemacht. Deswegen:

Copy [um PFAD ergänzen]unbenannt.pdf D:\Entwicklungen\BPSWAWI\Buero4\Rechnungen\RE-14553-vom-02-07-2014.pdf
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: ShellExecute führt den Befehl nicht aus

  Alt 2. Jul 2014, 14:16
Ich weiß jetzt leider nicht, ob CMD den letzten ErrorLevel des letzten Befehls als eigenen ExitCode rausgibt.

Code:
COPY /V %von% %nach%
IF ERRORLEVEL 1   EXIT %ERRORLEVEL%


COPY /V %von% %nach%
IF %ERRORLEVEL% GTR 0   EXIT %ERRORLEVEL%
Das Exit setzt auf jeden Fall (sollte zumindestens) den ExitCode der CMD.exe
und wenn man mag, dann kann man via /V dem Copy sagen, es solle die Datei nach dem Schreiben nochmal prüfen.

Aber am Ende läuft es doch auf Folgendes hinaus
Delphi-Quellcode:
Status := ShellExecute(Handle, nil, '%ComSpec%', PChar('/C "COPY mitPfad/unbenannt.pdf D:\Entwicklungen\BPSWAWI\Buero4\Rechnungen\RE-14553-vom-02-07-2014.pdf"'), nil, SW_SHOW);

Status := ShellExecute(Handle, nil, '%ComSpec%', PChar('/C "COPY unbenannt.pdf D:\Entwicklungen\BPSWAWI\Buero4\Rechnungen\RE-14553-vom-02-07-2014.pdf"'), PChar(derPfad), SW_SHOW);

// k.A. ob jetzt %ComSpec% aufgelöst wird, oder halt einfach 'cmd.exe' nutzen, eventuell mit dem System32-Verzeichnis davor
und da frag ich mich, warum man dort nicht einfach RenameFile (SysUtils) oder CopyFile (Windws) verwenden sollte, oder besser noch eine der neuen Implementationen aus der IOUtils.
http://docwiki.embarcadero.com/CodeE...s_%28Delphi%29
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 2. Jul 2014 um 14:20 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 08:40 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