Ce qui est dommage c'est d'avoir repris le premier code du sujet qui n'est pas codé correctement et l'auteur lui même dit qu'il y a des problèmes, en lisant la suite, vous auriez aussi constaté qu'il...
Type: Messages; Utilisateur: ShaiLeTroll
Ce qui est dommage c'est d'avoir repris le premier code du sujet qui n'est pas codé correctement et l'auteur lui même dit qu'il y a des problèmes, en lisant la suite, vous auriez aussi constaté qu'il...
Inversée ?
Cela m'étonne !
Pour l'avoir testé avec IpConfig, j'ai juste affiché Output sans rien inversé !
un petit :resolu: ?
Le processus est terminé lors que l'on sort de CallCmd :mouarf:
Tu penses asynchrone sur une fonction bêtement synchrone
tu aurais pu exploiter TThreadDosCommand.OnTerminated qui te l'aurais...
Ma fonction était prévue pour un chemin complet de l'exe !
Si l'on appelle GetLastError(), il retourne 123 = ERROR_INVALID_NAME
J'ai corrigé le NativeUInt
begin
CallCmd('', 'cmd.exe', '/C...
Pour NativeUInt, oui pour Parent comme tu l'as fait !
procedure _TThreadDosCommandWaitEvent(Parent: NativeUInt; const Output, Error: string; var AbortProcess: Boolean); stdcall;
begin
if...
Hein ! Surtout pas !
Je sais que le cast NativeUInt(Self) est vilain mais permet de pouvoir mettre n'importe quoi !
Un pointeur sur un struct, une référence sur un objet ... mais il faut faire le...
Oui Self ne passe passe du tout, j'ai encoré été trop vite, l'habitude du C++ et de son absence de rigueur sur les types pointeurs et int
CallCmd(prvtDirectory, 'cmd.exe', '/C '+prvtCommand,...
Ah oui !
Faut peut-être mettre @
Version corrigée :
Il est important que _TThreadDosCommandWaitEvent soit déclaré en procédure et AVANT l'appel à CallCmd
procedure...
Ah, je n'avais donc rien compris :aie:, j'ai eu des doutes :roll:, j'ai tenté ma chance et voilà, j'aurais du me taire :mouarf: :cry:
Donc tu peux même reprendre l'ancienne forme de la fonction...
Finalement j'ai compris ton timeout !
Tu veux gérer "le plantage" de l'application lancée qui ne répond plus !
Je dirais qu'il faut le faire uniquement en cas WAIT_TIMEOUT qui veut juste dire que...
En fait, a peu de chose, si l'on retire les génériques, c'est la même chose que mon code !
Et des CallBack, c'est juste une technique d'appel de procédure, sans t'en rendre compte, tu en utilises...
Sinon, pour ton histoire de session DOS, je n'avais pas vu ça !
Deux approches :
- Générer un .BAT qui s'auto-supprime en fin de script
- Gérer le ProcessID fourni par CreateProcess et lors de...
J'ai écrit ceci pour lancer des script PHP écrivant dans la console
Essaye d'avoir un code fonctionnel même sans thread !
Comme tu lances un processus parallèle, tu n'a pas besoin de thread pour...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.