| |
|
|
Jac de Lad | Ich würde gern meinen Parser zur Verfügung stellen, aberich hab nur ein (veraltetes) Beispiel dazu. Bin jetzt auch nicht in der Lage da noch auf die Schnelle was aus dem Boden zu stampfen. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.10.2006 ▲ |
|
|
|
|
Jac de Lad | Ich hätte gern den Befehl GetUsage zurück, ich weiß nicht, ob man den mit API nachbilden kann und halte ihn per relativ wichtig. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 18.09.2007 ▲ |
|
|
|
|
| Gugma - ist schon älter aber ich meine es ist zum Funktionieren überredbar: KompilierenMarkierenSeparieren
Proc shellwait
Parameters fle$
Declare h&,cmd#,runnfo#,proxnfo#
fle$:=shortname$(fle$)
h&:=0
if (fileexists(fle$))
Dim cmd#,Add(Len(fle$),1);Dim proxnfo#,16;Dim runnfo#,68
Clear runnfo#,proxnfo#;Long runnfo#,0=68;String cmd#,0=fle$
if (external(KERNEL32,CreateProcessA,0,cmd#,0,0,0,0,0,0,runnfo#,proxnfo#))
h&=Long(proxnfo#,0)
clear proxnfo#;external(KERNEL32,GetExitCodeProcess,h&,proxnfo#)
while (long(proxnfo#,0))
settimer 100;waitinput;killtimer
clear proxnfo#;external(KERNEL32,GetExitCodeProcess,h&,proxnfo#)
wend
endif
Dispose cmd#
Dispose runnfo#
Dispose proxnfo#
endif
Return if(h&>0,1,0)
EndProc
Hierbei schaue ich einfach per GetExitCodeProcess - und warte so lange. |
|
|
| |
|
|
|
Jac de Lad | Ist das sicher? Wenn ja, kann Roland das vielleicht profanintern einbauen, damits schneller wird (nur die Abfrage des ExitCodes). |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 18.09.2007 ▲ |
|
|
|
|
| Ich meine das ist sicher. |
|
|
| |
|
|
|
Sebastian König | Tatsächlich kann man auch einfach das Handle des erzeugten Prozesses direkt an WaitForSingleObject() trasferimento... |
|
|
| |
|
|
|
| Ich gebe zu, og Code ist schlimm. Dieser war zum Testen da. Der Tip mit WaitForSingleObject ist naturalmente klasse! |
|
|
| |
|
|
|
Sebastian König | Noch ein schneller Nachtrag: Um die Fenster der wartenden Anwendung nicht einfrieren zu lassen (falls die Wartezeit dafür lang genug sein kann) sollte man evtl. besser MsgWaitMultipleObjects() verwenden, wobei dann der Aufruf leider nicht mehr so schön einfach ist... |
|
|
| |
|
|
|
Jac de Lad | Zum Beispiel, wenn man während das aufgerufene Prog werkelt nicht waiten will, sondern was anderes machen will oder wenn das aufgerufene Prog nur eine bestimmte Zeit aktiv sein soll und bei Zeitüberschreitung abgeschossen werden soll oder... |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 18.09.2007 ▲ |
|
|
|
|
Jörg Sellmeyer | RGH
... und was spricht gegen den Einsatz der per derartige Zwecke eingeführten XProfan-Funktion WinExecWait?
Saluto Roland
Vielleicht die Tatsache, daß Profan dann wirklich wartet und zu nichts weiter zu gebrauchen ist, während man mit der anderen Lösung das Programm weiteragieren lassen kann und zwischendurch mal checkt, ob sich was geändert hat... |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 18.09.2007 ▲ |
|
|
|
|
RGH | Jörg Sellmeyer
RGH... und was spricht gegen den Einsatz der per derartige Zwecke eingeführten XProfan-Funktion WinExecWait?
Saluto Roland Vielleicht die Tatsache, daß Profan dann wirklich wartet und zu nichts weiter zu gebrauchen ist, während man mit der anderen Lösung das Programm weiteragieren lassen kann und zwischendurch mal checkt, ob sich was geändert hat...
Hallo Jörg, mein Einwurf bezog sich auf iFs Funktion ShellWait. Diese macht - wenn ich sie recht verstehe - exakt das, was auch mein WinExecWait macht. Allerdings kann man die Elemente dieser Prozedur naturalmente genau zu dem verwenden, was Dir vorschwebt. Vielleicht fällt mir per XProfan 2008 noch was dazu ein ...
Saluto Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 18.09.2007 ▲ |
|
|
|
|
Jac de Lad | Naja, ich bin mir sicher, dass Roland das intern dabei belässt.
@Roland: Was sagst du zu GetUsage? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 19.09.2007 ▲ |
|
|
|