Author | Topic: Re: Runshell, Betriebssystemfehler 87 | |
---|---|---|
Andreas Gehrs-Pahl View the complete thread for this message in: | Re: Runshell, Betriebssystemfehler 87 on Mon, 20 Apr 2015 06:41:25 -0400 Steffen, >Runshell() bringt einen Fehler beim Aufruf CMD-Befehlen >Beispiel: Runshell(Runshell('/C START /MIN /WAIT Test.exe',,FALSE,TRUE)) Ich habe dazu einige Fragen: Was ist der Rückgabewert des Programs "Test.exe"? Ist es der Name eines anderen Programs das Du mit RunShell() aufrufen willst? Ist dieses (zweite) Program im Pfad und kann es direkt aufgerufen werden? Bist Du Dir ganz sicher, das "Test.exe" einen String Rückgabewert im Format: "/C START Program_Name.exe" hat? Der Aufruf der zweiten RunShell() würde dieses Format benötigen, um irgendwas zu tun. Der Rückgabewert des Programs "CMD.exe" -- das Du in Wirklichkeit mit dieser RunShell() Schreibweise aufrufst -- ist immer eine Fehler Number. Das heißt das "RunShell('\C START...')" immer einen numerischen Wert zurückgeben wird! Warum startest Du das "Test.exe" Program nicht direkt mit: "Runshell('', 'Test.exe', .f., .t.)", so daß es einen eigenen Rückgabewert haben kann? Das würde auch die "COMSPEC" variable überflüssig machen und Du würdest kein zusätzliches "CMD.exe" Kommandofenster öffnen. Kannst Du uns ein wenig ausführlicher erklären was Du eigentlich erreichen möchtest? Vielleicht wolltest Du nur das "Test.exe" Program aufrufen, und die zweite, äußere "RunShell()" ist garnicht geplant? Brauchst Du einen Rückgabewert von diesem "Test.exe" Program? Was passiert, wenn Du "Runshell('', 'Test.exe', .f., .t.)" benutzt? Andreas Andreas Gehrs-Pahl Absolute Software, LLC phone: (989) 723-9927 email: Andreas.GP@Charter.net web: http://www.Aerospace-History.net |