AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Problem bei Paramterübergabe an ein Dos Programm
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei Paramterübergabe an ein Dos Programm

Ein Thema von Norbert987 · begonnen am 11. Jun 2004 · letzter Beitrag vom 28. Jun 2004
Antwort Antwort
Seite 1 von 2  1 2      
Norbert987

Registriert seit: 27. Nov 2003
Ort: Aachen
74 Beiträge
 
Delphi 7 Professional
 
#1

Problem bei Paramterübergabe an ein Dos Programm

  Alt 11. Jun 2004, 17:21
Hi Leute,

ich habe versucht ein Dos-Programm mittels Parameter anzusprechen. Der Parameter ist so:
ucc.exe decompress Pfad.uz2 (ohne Strich vor "decompress" ist Richtig.)

das Problem ist, das es in der Dos-Konsole ohne Probleme funktioniert, nutzt man allerdings eine Verknüpfung, einen Delphiaufruf, sieht man das Fenster kurz aufblinken, kann den Fehler nicht erkennen - dann schließt sich das Fenster wieder.
Ich habe jetzt rausgefunden, das man die Kompatibilität auf Windows XP auf 95/98 oder ME einstellen muss. Dann funktioniert es. Aber wie geht das mit Delphi

vielen Dank im Vorraus Tobias
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Problem bei Paramterübergabe an ein Dos Programm

  Alt 11. Jun 2004, 20:20
Die kompatiblität kannst du doch nur in einer verknüpfung auf die datei festlegen, oder? jetzt schreibst du die dateiparameter einfach auch noch in diese verknüpfung, und rufst dann diese verknüpfung per shellexecute auf (verknüpfungen haben immer die endung .lnk, auch wenn man es auch nie zu gesicht kriegt )
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Norbert987

Registriert seit: 27. Nov 2003
Ort: Aachen
74 Beiträge
 
Delphi 7 Professional
 
#3

Re: Problem bei Paramterübergabe an ein Dos Programm

  Alt 12. Jun 2004, 11:30
Hi c113plpbr,

meinst du, ich soll eine exe-Datei und eine ink-Datei ausliefern wo dann die Parameter angepasst werden sollen?

PS: Die ucc.exe ist nicht immer auf dem gleichen Platz.

gibt es nicht vielleicht eine leichtere Methode?
Woran kann es liegen, dass es unter cmd.exe (Dosfenster) ohne Probleme läuft, aber nicht mit Delphi und Parametern? Unter "Ausführen" verhält es sich genau so.

vielen Dank im Vorraus Tobias
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 31. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#4

Re: Problem bei Paramterübergabe an ein Dos Programm

  Alt 12. Jun 2004, 12:29
wie führst du denn das Dos-Programm aus?
vielleicht liegt ja darin ein Fehler

poste mal bitte die Code-Zeile wo du das Programm aufrufst...
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Problem bei Paramterübergabe an ein Dos Programm

  Alt 12. Jun 2004, 12:53
Wenn ucc der unreal compiler ist, dann sollte er aber auch ohne kompatiblitätsmodus ausgeführt werden können ...
vielleicht funktioniert es nicht, weil du nicht den genauen pfad angibst, und dieser evtl. leerzeichen enthält, daher sollte man den pfad immer in "pfad" Anführungszeichen schreiben. Probier das mal, und ansonsten kannste ja ne batchdatei schreiben ...

Das Konsolenfenster wird sich eigentlich immer schliessen, wenn das programm nicht im rahmen eines anderen konsolenfensters ausgeführt wird, abhilfe schafft da ne batch datei.
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Norbert987

Registriert seit: 27. Nov 2003
Ort: Aachen
74 Beiträge
 
Delphi 7 Professional
 
#6

Re: Problem bei Paramterübergabe an ein Dos Programm

  Alt 13. Jun 2004, 19:57
@ The-X:

ich habe es so versucht:
ShellExecute(Application.Handle, 'open', PChar(LabelPfad.Caption + 'System\UCC.exe'), 'decompress D:\AnnouncerAssault.est_uax.uz2', nil, sw_Minimize); @ c113plpbr:

genau, es ist er unreal compiler , aber ich meine es versucht zu haben, es hat aber nicht funktioniert, werde es aber zur Sicherheit nochmal testen

mfg Tobias
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 31. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#7

Re: Problem bei Paramterübergabe an ein Dos Programm

  Alt 25. Jun 2004, 15:02
Zitat von Norbert987:
@ The-X:

ich habe es so versucht:
ShellExecute(Application.Handle, 'open', PChar(LabelPfad.Caption + 'System\UCC.exe'), 'decompress D:\AnnouncerAssault.est_uax.uz2', PChar(LabelPfad.Caption + 'System\') , sw_Minimize);
auch schonmal versucht das Ausführungsverzeichnis mit anzugeben? vielleicht benötigt der Unreal-Kompiler ja Dateien die in "seinem" Verzeichnis liegen... wo er aber nicht drankommt, da er "schlecht" programmiert ist und den Dateipfad nicht aus seinem eigenen Pfad erstellt sondern das Akutelle als das seinige vorraussetzt...
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
Norbert987

Registriert seit: 27. Nov 2003
Ort: Aachen
74 Beiträge
 
Delphi 7 Professional
 
#8

Re: Problem bei Paramterübergabe an ein Dos Programm

  Alt 25. Jun 2004, 17:11
Hi Leute,

ich habe mal ein "Test" Programm für das ucc.exe Programm zu schreiben. Das Ergebniss ist, dass das "Problem" die Leerstellen im Pfad sind. Sowohl in der Batch Datei, als auch wenn man es per ShellExecute aufruft.

@The-X:
ich kann es mal versuchen, aber da es im die Leerstellen geht dürfte es nicht klappen, oder?

vielen Dank für eure Hilfe Tobias


PS: Wie kann man das lösen? Ich weiss nur, dass man Pfade mit > als 8 Zeichen auf die 6 ersten Zeichen kürzt und '~1' anhängt. Kann mir jemand etwas dazu schreiben?

PPS: Den Pfad mit so auf zu rufen: "Pfad..." habe ich bei der Batch versucht. Hat aber nicht funktioniert.
Angehängte Dateien
Dateityp: rar ut2004extract.rar (164,8 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 31. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#9

Re: Problem bei Paramterübergabe an ein Dos Programm

  Alt 25. Jun 2004, 18:00
Zitat von Norbert987:
ich kann es mal versuchen, aber da es im die Leerstellen geht dürfte es nicht klappen, oder?
Im Normalfall kannst du den kompletten Pfad in "" einschließen

und was den 8.3 Dateinamen angeht gibt es dazu auch eine Funktion
function ExtractShortPathName(Const FileName:string):String; Siehe OH, Unit SysUtils
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
Norbert987

Registriert seit: 27. Nov 2003
Ort: Aachen
74 Beiträge
 
Delphi 7 Professional
 
#10

Re: Problem bei Paramterübergabe an ein Dos Programm

  Alt 28. Jun 2004, 19:57
@The-X:
endlich, mit dem 8.3 Dateinamen funktioniert die Batchdatei.

bei der Shell funktion behauptet er, er braucht Dateien mit einer uz2 Endung:
Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
var
  Datei, Pfad, Parameter : String;
begin
  Datei := ExtractFileName(PChar(Label4.Caption));
  Pfad := ExtractShortPathName(ExtractFilePath(PChar(Label4.Caption)));
  Parameter := PChar(' decompress ' + Label1.Caption + ' '+ ExtractFilePath(Label1.Caption));
PChar(Pfad), sw_Maximize);
  ShellExecute(Application.Handle, 'open', 'E:\Spiele\UT 2004\System\ucc.exe', 'decompress D:\itt.uz2', 'E:\Spiele\UT 2004\System\', sw_Maximize);
end;
Könnt ihr mir sagen wieso?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:50 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