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, 12:15
@jaenicke

Git und SVN sind mir bekannt, auch wenn ich diese noch nicht genutzt habe.
Danke für deinen Tipp, nun scheint es wohl doch an der Zeit zu sein, dass ich mich näher damit beschäftige.^^

@Moombas

Du liegts richtig. Ich wollte eine abgespeckte Update-Routine implementieren.
Wenn ich dies ebenfalls in delphi programmieren soll, sollte man dies gleich mit in das Hauptprogramm mit rein nehmen oder sollte ich ein weiteres Programm schreiben, welches ich aus meinem Hauptprogramm heraus starte?
  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, 12:20
Du kannst ja eine Datei nicht überschreiben, während diese noch läuft. Daher kommst du über eine separate Exe (oder ähnliches) nicht drum herum.
Aber eben diese würde ich trotzdem halt in Delphi schreiben, weil es für dich "Training" bedeutet und der Umfang dessen mit der Zeit steigen wird (je nach Programmumfang).

Es ist zudem einfacher, ein solches Programm mit wachsen zu lassen, als dieses komplett nachträglich mit einzubauen.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Kratos

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

AW: ShellExecute

  Alt 8. Jun 2020, 12:51
@Moombas

Alles klar, danke dir!
Das dachte ich mir schon.
Dann werde ich das so handhaben.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: ShellExecute

  Alt 8. Jun 2020, 12:55
Du kannst ja eine Datei nicht überschreiben, während diese noch läuft. Daher kommst du über eine separate Exe (oder ähnliches) nicht drum herum.
Man kann aber die Datei normalerweise umbenennen während sie läuft. Man kann auch die gleiche Exe mit Parametern erneut starten und hat dann zwar mehrere Instanzen, aber immer noch nur eine Exe.
Sebastian Jänicke
AppCentral
  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, 13:57
Ok, das mit den Parametern kenne/weiß ich. Das mit dem umbenennen war mir neu, weil mir das bisher noch nie als use-case aufgetreten ist.

Wenn ich @Jaenicke also richtig verstehe: Programm starten -> In diesem benennt die Update-Prozedur die eigene Exe um, kopiert die neue rein und startet diese und beendet die alte.
Die neue löscht dann wiederum die umbenannte exe und alles ist schick mit nur einer exe-Datei.

Hmm, hört sich interessant an.
Ich für meinen Teil bleibe aber wohl eher dabei das zu splitten.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: ShellExecute

  Alt 8. Jun 2020, 14:54
Auf Netzlaufwerken, bzw. umgeleiteten Unterverzeichnisen zu Einem, da geht das mit dem Umbenennen eventuell oft nicht. (kommt drauf an, wie der Server am enderen Ende die Sperren behandelt)

Es gibt hier im Forum auch irgendwo eine Komponente, welche das mit dem Update handelt.
> Hier im Forum suchenUpdater irgendwas

Und ansonsten mehrere Threads, wo man den einen oder anderen hilfreichen Hinweis/Tipp bestimmt findet.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Jun 2020 um 14:58 Uhr)
  Mit Zitat antworten Zitat
Kratos

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

AW: ShellExecute

  Alt 9. Jun 2020, 07:56
Danke euch!
Ich werde mir die Komponente mal anschauen

VG Kratos
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
243 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: ShellExecute

  Alt 26. Mär 2021, 15:27
Ich wollte jetzt nicht einen neuen Threat für Shell Execute aufmachen , daher:

Die folgende Codezeile

Code:
   ShellExecute(Handle,'open', PChar('C:\Users\....\Projekte\PKM\XML\json2xml.exe modinfo.json'), nil, nil, SW_normal);
ruft das Programm json2xml.exe auf das die Datei info.json in eine XML umwandelt. Sollte man denken. Fehlercode 2 wird geliefert, ergo "Datei nicht gefunden".

WENN ich das zu Fuß mache - Windows+R - oder cmd aufrufe im ensprechenden Verzeichns und dann eben "json2xml.exe modinfo.json" starte eght das anstandslos.

Was zum Henker mache ich falsch?
  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 14:57 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