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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|