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
SQL SERVER : PHP ET SQL SERVERSQL SERVER : PHP ET SQL SERVER par christian
Juste une petite synthèse sur les possibilités de connecter une application PHP sur un serveur SQL Server. Non pas que je me sois reconverti en développeur PHP, mais je constate qu'actuellement il est très difficile dans un environnement PHP et partic...
Cliquez pour lire la suite de l'article par christian [TECHDAYS 2010] WINDOWS AZURE APPFABRIC (CLO305)[TECHDAYS 2010] WINDOWS AZURE APPFABRIC (CLO305) par NeuroCypher
Les webcasts sont désormais en ligne, je me décide donc à écrire ce post. J'ai encore eu la chance d'animer une session aux TechDays cette année. Le sujet : le même que l'année dernière, ou plutôt son évolution. En effet, l'année dernière la couche de com...
Cliquez pour lire la suite de l'article par NeuroCypher OUTILS D'IMPORT AVEC MISE à JOUR DANS MICROSOFT DYNAMICS CRMOUTILS D'IMPORT AVEC MISE à JOUR DANS MICROSOFT DYNAMICS CRM par bianca
Problématique
Si vous avez besoin d'exporter sous Excel une liste de comptes ou de contacts dans le but de faire des retouches à droite à gauche puis de réinjecter le tout dans CRM, vous ne pouvez pas vous en...
Cliquez pour lire la suite de l'article par bianca SQL SERVER : DéVELOPPER UN ADDON POUR SQL SERVER MANAGEMENT STUDIO (SSMS)SQL SERVER : DéVELOPPER UN ADDON POUR SQL SERVER MANAGEMENT STUDIO (SSMS) par christian
Pour celles et ceux qui aiment SQL Server et on l'âme de développeur (ou sont tout simplement développeur) et veulent étendre les fonctionnalités de SQL Server, voici un article qui devrait pouvoir un intéresser.
Certes ce dernier est écrit sur u...
Cliquez pour lire la suite de l'article par christian EDITEUR XAML DE VISUAL STUDIO: COMMENT ALIGNER LES ATTRIBUTS LES UNS EN DESSOUS DES AUTRES AUTOMATIQUEMENTEDITEUR XAML DE VISUAL STUDIO: COMMENT ALIGNER LES ATTRIBUTS LES UNS EN DESSOUS DES AUTRES AUTOMATIQUEMENT par Miiitch
Lorsque l'on écrit du XAML, les tags XML peuvent vraiment devenir très longs et pas pratique à lire: Il y a une option vraiment pratique dans l'éditeur de Visual Studio qui va nous permettre de réorganiser tout cela en mettant les attributs XAML les uns e...
Cliquez pour lire la suite de l'article par Miiitch
Forum
SVPSVP par aka89
Cliquez pour lire la suite par aka89
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|