AGB  ·  Datenschutz  ·  Impressum  







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

ShellExecute

Ein Thema von Kratos · begonnen am 8. Jun 2020 · letzter Beitrag vom 26. Mär 2021
Antwort Antwort
Kratos

Registriert seit: 15. Okt 2019
52 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: ShellExecute

  Alt 8. Jun 2020, 11:20
@Moombas

Ich habe deine Klammeränderung übernommen.
Jedoch wird die .bat anscheinend immer noch nicht ausgeführt.

Es ist doch richtig, dass meine bat wie folgt lautet:
Programm.exe_DELETE_COPY_EXECUTE.bat?
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#2

AW: ShellExecute

  Alt 8. Jun 2020, 11:42
Nein Das war ein Beispiel um zu zeigen, das diese nicht ausgeführt werden kann, weil der Name falsch zusammen gesetzt wird.

Deine .Bat behält deinen gewünschten Namen (_DELETE_COPY_EXECUTE.bat).
Du kannst zur Kontrolle auch temporär dir die Zusammensetzung mal ausgeben lassen (hilft evtl. dabei das zu verstehen):
Delphi-Quellcode:
procedure TForm5.pnlUpdateMessageClick(Sender: TObject);
var
  ExecResult: Integer
begin
  try
    ShowMessage(ParamStr(0) + '_DELETE_COPY_EXECUTE.bat'); //nur zum evtl. besseren Verständnis, kann im eigentlichen Code nachher raus!
    ShowMessage(ExtractFilePath(ParamStr(0)) + '_DELETE_COPY_EXECUTE.bat'); //nur zum evtl. besseren Verständnis, kann im eigentlichen Code nachher raus!
    ExecResult := ShellExecute(0, 'open', 'cmd', PChar('/c ' + ExtractFilePath(ParamStr(0)) + '_DELETE_COPY_EXECUTE.bat'), nil, SW_SHOWNORMAL); //so wäre es richtig, der Dateiname bleibt "_DELETE_COPY_EXECUTE.bat"
    if ExecResult <= 32 then
      ShowMessage('Fehlercode: ' + IntToStr(ExecResult));
    ShowMessage('Alte Version gelöscht.');
  except
    ShowMessage('Fehler');
  end;
end;
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.190 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: ShellExecute

  Alt 8. Jun 2020, 11:43
Ich will kein Schlauscheißer sein, aber auf lange Sicht wirst du nicht glücklich wenn sich die Fehleranalyse auf "Geht irgendwie" und "Geht irgendwie nicht" beschränkt. Speicher dir das ganze String-Gewurstel doch in einer extra Variable und nutze den Debugger. Dann kannst du dir den Inhalt der Variable anschauen und siehst wo das Problem ist.
  Mit Zitat antworten Zitat
Kratos

Registriert seit: 15. Okt 2019
52 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: ShellExecute

  Alt 8. Jun 2020, 12:05
Ihr glaubt ja gar nicht wie verdammt bescheuert ich bin!
Ich hatte vor einiger Zeit auf einer anderen Platte ein Backup meines Projekts angelegt.
An meinem Backup arbeite ich ja aber nicht aktiv, sondern arbeite auf einer ganz anderen Partition. Ich hab die bat in meinen Backup-Ordner gelegt.
Oh my fcking god!

Es funktioniert jetzt


Ich bedanke mich dennoch bei allen für eure großartige Hilfe, besonders bei @Moombas.
Deine detailreiche Erklärung hat mich trotzdem weiter gebracht

VG Kratos

Geändert von Kratos ( 8. Jun 2020 um 13:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#5

AW: ShellExecute

  Alt 8. Jun 2020, 12:08
Naja Detailreich fand ich sie nun nicht.

Generell kann ich dir bei soetwas nur empfehlen, wie es Günther schrieb: Schau dir das wo es nicht funktioniert im Debugger an und/oder gebe einfach mal aus (hier der Pfad+Dateiname), was du an eine Funktion übergibst (sofern generiert und nicht fix übergeben).

Dann wird man in der Regel schnell fündig wo der Hase im Pfeffer liegt.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas ( 8. Jun 2020 um 12:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.857 Beiträge
 
Delphi 12 Athens
 
#6

AW: ShellExecute

  Alt 8. Jun 2020, 12:45
Ich hatte vor einiger Zeit auf einer anderen Platte ein Backup meines Projekts angelegt.
An meinem Backup arbeite ich ja aber nocht aktiv, sondern arbeite auf einer ganz anderen Partition.
Dafür gibt es Versionsverwaltungen wie Git oder SVN, dann braucht man kein Backup in Form von kopierten oder gezippten Quelltextverzeichnissen und man kann auch viel bequemer damit arbeiten...
https://entwickler-ecke.de/topic_Kur..._115462,0.html
Sebastian Jänicke
AppCentral
  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 06:19 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 by Thomas Breitkreuz