RunShell() Rückgabewert [ERLEDIGT]

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

RunShell() Rückgabewert [ERLEDIGT]

Beitrag von Manfred »

Ich habe hier zwar einiges gefunden zu Runshell() , aber wie ist das mit den Rückgabewerten?
0 = alles ok
-1 = es ist was faul
aber wofür steht "1" ?
den bekomme ich jetzt zurückgeliefert. Ist das so wie -1?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: RunShell() Rückgabewert

Beitrag von brandelh »

Ich meine die Funktion RunShell liefert den Fehlercode des aufgerufenen Programmes, eventuell aber nur bei synchroner Ausführung.
-1 bedeutet, dass das Programm nicht gestartet werden konnte !
0 immer wenn nichts ermittelt werden konnte, oder das Programm 0 (alles OK) gemeldet hat
steht sogar in der Hilfe: ;-)
Der Rückgabewert von RunShell() ist der Rückgabewert des gestarteten Befehlsprozessors bzw. des Programms.
Wenn ein Befehlsprozessor/Programm im asynchronen Modus gestartet wird, ist der Rückgabewert immer 0.
Konnte das Programm nicht gestartet werden dann wird -1 zurückgegeben.
Schau mal hierfür die Erklärung wie ein Xbase++ / Clipper Programm so einen Zustand setzt.
QUIT | CANCEL [<nErrorLevel>]

Parameter

<nErrorLevel>

Optional kann bei dem Befehl ein numerischer Wert als Parameter angegeben werden. Dieser wird an die Funktion ErrorLevel() übergeben.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: RunShell() Rückgabewert

Beitrag von Manfred »

Hi Hubert,
Danke für Deine Info, aber Du hast ja jetzt mehr oder weniger nur wiederholt, was ich geschrieben habe.
Eigentlich stehe ich vor dem Problem nicht zu wissen, was eine einfache 1 zu bedeuten hat. Das steht nicht in der Hilfe. Oder irre ich?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: RunShell() Rückgabewert

Beitrag von UliTs »

Hat Hubert doch schon geschrieben: das Programm hat die 1 als Rückgabewert bzw. Errorcode zurückgegeben.
Das kannst du auch mit einem eigenen Programm testen :-) .
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: RunShell() Rückgabewert

Beitrag von AUGE_OHR »

Manfred hat geschrieben: Mo, 20. Nov 2017 16:57 Eigentlich stehe ich vor dem Problem nicht zu wissen, was eine einfache 1 zu bedeuten hat.
Das steht nicht in der Hilfe. Oder irre ich?
was Hubert wohl sagen wollte ist das man dazu einen ERRORLEVEL setzten muss der nach dem beendet des Programms noch besteht.

wenn du nun unter ERRORLEVEL guckst :
Standardmäßig ist der Return-Code einer Xbase++ Anwendung 0, wenn das Programm ordnungsgemäß beendet wurde.
Bei einem Laufzeitfehler wird der Return-Code von der Standard-Fehlerroutine auf 1 gesetzt, bevor das Programm mit QUIT beendet wird.
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: RunShell() Rückgabewert

Beitrag von Manfred »

gebt zu, ihr wollt mich auf die Probe stellen....
Das weiß ich doch alles, aber was hat die 1 zu besagen? Es ist was nicht korrekt. Das klingt aber so wie:
Alles klar?
nein, es lief was falsch
was denn?
ja, es lief was falsch.
Und was lief falsch?
Es lief was falsch.
Die Zahl 1, ist sie wie ein False zu betrachten, oder wie die Zahl -1? Oder kann man irgendwo nachlesen, was es evtl. für ein Fehler war? Sind es die OS Meldungen? Ich habe so nichts gefunden.
Ob ich jetzt Errorlevel() abfrage, oder den Rückgabewert der RunShell() Funktion ist doch gleich. Es gibt in beiden Fällen die gleiche Zahl.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: RunShell() Rückgabewert

Beitrag von HaPe »

Hallo Manfred !
Das weiß ich doch alles, aber was hat die 1 zu besagen?
Verrate doch mal welches Programm du mittels RunShell aufrufst:
- Eigenes Xbase++-Programm
- Fremdes Xbase++-Programm
- Office
- Fremdes Programm das geheim bleiben muss
- CMD.EXE
- ...
--
Hans-Peter
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: RunShell() Rückgabewert

Beitrag von Manfred »

ich rufe 7za.exe damit auf. Also ein Packprogramm. Das hat zum ersten Mal gemeckert. Zwischenzeitlich habe ich systematisch die Dateien, die gepackt werden sollen entfernt und dann häppchenweise zurückkopiert und immer wieder laufen lassen. Komischerweise gibt es jetzt keine Fehlermeldung mehr.
Mein Interesse liegt nur darin, ob ich die 1 einfach ignorieren kann/soll.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: RunShell() Rückgabewert

Beitrag von AUGE_OHR »

Manfred hat geschrieben: Mo, 20. Nov 2017 18:04 gebt zu, ihr wollt mich auf die Probe stellen....
Das weiß ich doch alles, aber was hat die 1 zu besagen? Es ist was nicht korrekt.
liest du was andere schreiben ?
Bei einem Laufzeitfehler wird der Return-Code von der Standard-Fehlerroutine auf 1 gesetzt, bevor das Programm mit QUIT beendet wird.
gruss by OHR
Jimmy
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: RunShell() Rückgabewert

Beitrag von HaPe »

Hallo Manfred !
ich rufe 7za.exe damit auf.
Guggst du hier: http://7zip.bugaco.com/7zip/MANUAL/exit_codes.htm
--
Hans-Peter
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: RunShell() Rückgabewert

Beitrag von Manfred »

Jimmy,
ich habe es genau gelesen und auch mehrfach erwähnt. Es gab einen Laufzeitfehler. Aber was hat das zu bedeuten? Wenn jemand umfällt, dann kann ihm übel geworden sein, oder er ist gestorben. beides könnte man unter Laufzeitfehler einordnen. Aber genaues weiß man nicht ohne genauere Prüfung. Wenn die 1 bedeuten soll, es hat nicht geklappt, was es aber war, erfährt man nicht. OK, dann ist das so. Aber sind das vernünftige Codes für ein OS? Können noch andere Zahlen auftauchen?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: RunShell() Rückgabewert

Beitrag von Manfred »

Ah, Hape
Danke. Es gibt also mehrere und es hängt speziell mit dem programm zusammen wie ich es jetzt erkenne. Das hatte ich anders interpretiert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: RunShell() Rückgabewert [ERLEDIGT]

Beitrag von Werner_Bayern »

Servus Manfred,

warum verwendest Du nicht die XbZLib?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: RunShell() Rückgabewert [ERLEDIGT]

Beitrag von Manfred »

Hallo Werner,
die kenne ich nur vom Namen her. Kann die so klein machen wie 7zip?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: RunShell() Rückgabewert [ERLEDIGT]

Beitrag von brandelh »

7zip kann 7z Archive gut und ZIP leicht verschlüsseln, das kann XbZLib nicht.
Die ZIP Dateien werden aber gleich generiert, sonst wären sie ja nicht kompatibel, somit müsste auch die Größe der Datei etwa gleich sein.
Gruß
Hubert
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: RunShell() Rückgabewert [ERLEDIGT]

Beitrag von Werner_Bayern »

Manfred hat geschrieben: Di, 21. Nov 2017 8:06 Hallo Werner,
die kenne ich nur vom Namen her. Kann die so klein machen wie 7zip?
Sie hat folgende Kompressions-Einstellungen:
Define Value Description

XBZ_DEFAULT_COMPRESSION -1 Default compression (similar to 6).

XBZ_NO_COMPRESSION 0 No compression, cannot be specified!

XBZ_BEST_SPEED 1 Minimum compression, fastest speed.

XBZ_BEST_COMPRESSION 9 Maximum compression, slowest speed.

Also possible are all integer values between 1 and 9 (for which no define constants exist), which determine the relation between Speed and Compression Ratio and give a finer granulation than the above listed Define values. But in virtually all cases, the Default Compression is the best compromise between compression ratio and speed. Using higher compression ratios will result in only very slightly smaller files, and using a better speed (lower compression ratio) will give only very small improvements in the speed!
Folgende Methoden:
Init
Open
IsOpen
Save
Close
AddSFX
RemoveSFX
Test
Fix
AddDir
AddList
AddFile
AddData
AddEntry
ReplaceEntry
Delete
DeleteEntry
TestEntry
FixEntry
FindEntry
Extract
ExtractEntry
CopyFromZip
CopyToZip
ChangeFileName
ChangeFileDateTime
ChangeFileAttrib
ChangeFileComment
SetBaseDirectory
NormalizeFileName
GetData
Directory
StatusList
WildCardDir
SetDisplayObject
CloseDisplay
Display
Es ist sogar eine komplette Commandozeilen-Version mit dabei von Andreas Gehrs-Pahl.

Funktioniert einwandfrei, Du hast volle Kontrolle über das Ein- und Auspacken und sehr viele Möglichkeiten. Benötigt ot4xb.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: RunShell() Rückgabewert [ERLEDIGT]

Beitrag von AUGE_OHR »

wenn man keine Verschlüsselung braucht kann man auch das "eingebaute" ZIP (Copyhere ***) nehmen.
dann auch den grünen Progressbar für den Fortschritt.

*** viewtopic.php?f=16&t=5306
gruss by OHR
Jimmy
Antworten