Accueil > Forum > > > > CreateProcess: Pb de lancement d'un processus
CreateProcess: Pb de lancement d'un processus
vendredi 25 avril 2008 à 13:15:04 |
CreateProcess: Pb de lancement d'un processus

JeremyLecouvert
|
Bonjour tout le monde,
J'ai un pti souci avec la fonction CreateProcess, et je comprends pas où ça coince! Voilà le topo: mon appli est composée de 3 classes java et d'un "lanceur" développé en Delphi (BDS 2006). Chacun des 3 traitements est lancé par un appel à CreateProcess, mais l'un des 3 ne marche pas comme je veux, alors qu'il est construit de la même manière que les 2 autres. Voici mon code: Le problème, c'est qu'il génère à chaque fois une erreur, et le GetLastError me renvoie l'optimiste message « Opération réussie » ??? -> Je suppose que l'opération en question, c'est le plantage de la fonction .. sinon, j'vois pas ce qui a réussi !! En tout cas, le problème ne vient pas de la ligne de commande, parce qu'elle s'exécute bien quand je la lance directement dans le DOS. Du coup, je sais vraiment plus ce que je peux faire pour que ça marche, surtout que pour les 2 autres process ça marche nickel. Please, I need help ! En vous remerkiant .
|
|
vendredi 25 avril 2008 à 13:19:08 |
Re : CreateProcess: Pb de lancement d'un processus

JeremyLecouvert
|
Oups, désolé, pti pb de mise en forme sur le bout de code... procedure TBusinessTreatment.InsertBookmarks(pdf, csv: String); var cmd, classpath: String; si: STARTUPINFO; pi: PROCESS_INFORMATION; ret: Cardinal; pCmd: PAnsiChar; i: integer; begin //création du classpath java classpath:= ''; for i:=0 to Length(LIBS)-1 do classpath:= classpath + AppPath + LIBS[i]; cmd:= 'java -Xms16m -Xmx512m -cp "'+ classpath + '" "InsertBookmarks" "';
pCmd:= PAnsiChar(cmd + StringReplace(pdf, '\', '/',[rfReplaceAll]) + '" "' + StringReplace(csv, '\', '/',[rfReplaceAll]) + '"'); CreateProcess(nil, pCmd, nil, nil, False, 0, nil, nil, si, pi);
ret:= WaitForSingleObject(pi.hProcess, INFINITE); if ret=WAIT_FAILED then //échec de la fonction begin DisplayProcessError; //Fct d'affichage de l'erreur CloseProcess(pi); //Fermeture du process end else begin //process terminé (valeur de retour= WAIT_OBJECT_0) CloseInsertOperation(pdf, csv); CloseProcess(pi); end; //end if end;
... Voilà, c'est un peu mieux! 
|
|
vendredi 25 avril 2008 à 13:32:58 |
Re : CreateProcess: Pb de lancement d'un processus
|
vendredi 25 avril 2008 à 13:41:33 |
Re : CreateProcess: Pb de lancement d'un processus

JeremyLecouvert
|
C'est une procedure qui remplit un TMemo avec SysErrorMessage(GetLastError); et elle me dit "Opération réussie".
|
|
samedi 26 avril 2008 à 11:27:13 |
Re : CreateProcess: Pb de lancement d'un processus

f0xi
|
Réponse acceptée !
pi: PROCESS_INFORMATION; evite cela deja ... PI existe en delphi (renvois le nombre pi) mets plutot ProcInfo ou ProcNfo pour la commande il vaut mieux faire : Cmd : string; ... CreateProcess( nil, PChar(cmd), ...); et tu peu aussi faire : StringReplace(pdf+'" "'+csv, '\', '/',[rfReplaceAll])pour eviter 2 appels a StringReplace
|
|
lundi 28 avril 2008 à 12:35:18 |
Re : CreateProcess: Pb de lancement d'un processus

JeremyLecouvert
|
Salut tout le monde, ça y est, ça marche... merci fOxi! Ceci dit, je suis pas sûr de savoir pourquoi !!  Pour le 'pi', je l'ai changé en 'pInfo'; ça ne créait pas de conflit, mais tu as raison, il vaut être rigoureux ça évite les soucis.. Pour les types PChar et PAnsiChar, je n'ai pas l'habitude de les utiliser; je ne sais pas si il y des différences selon si on utilise l'un ou l'autre. D'après l'aide Delphi, C'est équivalent sous Win32... Bizarrement, si j'exécute le code: CreateProcess(nil, PChar(cmd), nil, nil, False, 0, nil, nil, si, pInfo);
Ca marche nickel. Par contre, si je déclare un PChar et que je fais: pCmd:= PChar(cmd); CreateProcess(nil, PChar(cmd), nil, nil, False, 0, nil, nil, si, pInfo);
Cette fois, j'ai la même erreur que la dernière fois, ou l'erreur "accès refusé". Pourtant, je ne me sers même pas de 'pCmd'... on dirait que le simple fait de faire l'affectation modifie 'cmd'... Chais pas keskispass !!  Si quelqu'un peut apporter ses lumières à mon petit cerveau embrumé, je suis preneur !!  En tout cas, je valide ta réponse puisque mon pb est résolu .. @+
|
|
Cette discussion est classée dans : process, pi, nil, createprocess, classpath
Répondre à ce message
Sujets en rapport avec ce message
String et Array [ par xionoxid ]
Bonjour C'est une très bete question : à propos des String et Array je voudrais enregistrer la valeur de "paramstr(1); " dans path pour le faire execu
Process group [ par User8 ]
Bonjour tout le monde, Je rencontre actuellement un problème pour la suppression de processus. Je serai donc fort intéressé par un petit coup de main.
PB avec Mapisendmail [ par fbalien ]
Bonjourj'ai fait un soft de création de compte user qui une fois le compte créé généré un mail pour indiquer les différentes informationsJ'utilise don
Problème ShellExecute [ par luluthefirst ]
Bonjour à tous, voilà j'ai importer ShellApi dans uses et ensuite je met le code ShellExecuteShellExecute(handle,'open',textbox1.text,nil,nil,SW_MAXIM
Generer un texte avec un ComboBox [ par emirej ]
Bonjour un tous, j'essaye de maitriser les ComboBox mais pas évident, en effet m'ont problème m'empêche de créer l'exécutable =\ Je possède une form,
ouvrir une nouvelle page internet [ par rayssec ]
bonjourj utilise la commande ShellExecute(0,'open','http://....',nil,nil, SW_SHOWNORMAL); pourouvrir une page internet sur IE mais cette page s'ouvr
What is OLE in-process server COM DLL ? [ par simonpelloquin ]
Bonjour,Pour essayer de répondre à mon précédent post relatif à une association d'icône sans passer par la base de registre, j'ai rouvé ça dans le Win
Passage de nil comme paramètre var [ par rt15 ]
Salut,Prenons par exemple la fonction ImageRvaToVa.Cette fonction est définie comme suit dans ImageHlp :function ImageRvaToVa(NtHeaders: PIm
Handle-savonnette à la c.. [ par Caribensila ]
Bonjour,Je fais un bench et j'ai besoin du gestionnaire des tâches de Windows pour contrôler certains trucs.Je me suis dit, confiant (et décontracté a
Livres en rapport
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|