Rularea programului de la Delphi cu așteptarea finalizării sale

Într-unul din programele mele, a fost necesar să rulați scriptul cmd și să așteptați finalizarea acestuia.

În această implementare este scrisă o procedură care verifică prezența antetului programului în procese.







Metoda este bună, dar dacă există un script de cmd mare care implică o lungă durată, atunci programul delphi va atârna pur și simplu în așteptarea închiderii scriptului. Prin urmare, pentru a se asigura că programul nu este atârnat în timp ce așteaptă un răspuns de la procedura, acesta trebuie să se execute într-un flux suplimentar de debit și are date pentru a trimite o fereastra principală a programului de închidere script cmd.

Pentru a utiliza această procedură, trebuie să conectați modulul ShellAPI în USES.

Metoda de a apela procedura:

După cum sa menționat mai sus, astfel încât programul nu atârnă, procedura este mai bine pentru a rula într-un fir separat, dar pentru a afla mai multe despre ceea ce scenariul a terminat activitatea sa, din fluxul trebuie să „undeva elimina datele“ - de exemplu, pe forma principală (Form1) trebuie să fie plasate (Label1), scrieți rezultatul procedurii.







Pentru a seta codul de mai jos pentru a lucra, trebuie să într-un proiect pentru a crea un fir (fir) new_process numit și conectați-l la forma principală utilizează - va curge într-o anumită unitate, și în care veți ști mai bine.

Metoda de creare a fluxului

În fir, trebuie să plasați codul procedurii ExecuteWait în sine, care este descris mai sus și să atribuiți formularul principal (unitatea1) în utilizări:

După terminarea programului, firul chemat va fi scris în eticheta1 a formularului principal: scriptul cmd este finalizat.

  • Nicolae "Mulțumesc. Căutam ceva de genul asta de mult timp. doar acest cod a venit pentru script-shop gratuit ver2

cum să mă odihnesc în timpul meu liber

Multithreading pe wordpress

  • Marina »Bună ziua! Te rog, dacă nu e greu, sunt nou. Recent, mi-am creat propriul site cu tema feminină pe Wordpress (există încă un cuplu.
  • TruLander »Marina sfatul meu pentru tine, dacă nu înțelegi esența alterării, este mai bine să faci 2 site-uri separate, va fi mai ușor pentru tine, mai ales.
  • Marina "Vă mulțumesc foarte mult!

Cele mai populare







Articole similare

Trimiteți-le prietenilor: