yannfrance
Messages postés48Date d'inscriptionmardi 18 septembre 2007StatutMembreDernière intervention 1 décembre 2010
-
13 févr. 2008 à 17:37
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
14 févr. 2008 à 21:27
Bonjour,
Pour qu'il n'y est pas de conflit, je tiens à precisez que je ne suis pas avec delphi, mais Lazarus sous une debian.
Voila; pour moi executer un programme via mon logiciel, j'utilise Libc:
Voici un exemple:
procedure Bouton1;
begin
Libc.system(pchar('/monrepertoire/' + Edit1.text'));//Lancer depuis Edit
end;
end
le prog externe s'execute sans problème, cependant, ma Form reste bloquer tant que l'application externe n'est pas quitter.
Donc, plus acces au autre fonction de ma form.
Avez vous une parade pour ce genre de problème ?
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 14 févr. 2008 à 03:45
alors je ne suis pas specialiste du tout de linux, mais je pense qu'il doit y'avoir quelque part un equivalent a shellexecute sous win32.
tu devrait chercher une telle commande qui prendrais en compte les parametres speciaux d'execution par rapport a l'appelant :
execute et attend la fin (modal)
execute et reviens (libre)
"You can use TProcess to launch external programs. Some of the benefits of using TProcess are that it is:
<li>Platform Independent
</li><li>Capable of reading from stdout and writing to stdin.
</li>Note: TProcess is not a terminal/shell! You cannot directly execute
scripts or redirect output using operators like "|", ">", "<",
"&" etc."
Vous pouvez utiliser TProcess pour lancer un programme externe. Les benefices qu'apporte l'utilisation de TProcess sont :
- Independance de la platforme (non dependant d'un systeme)
- capable de lire/ecrire via stdout et stdin
Note : TProcess n'est pas un terminal/shell! vous ne pouvez pas executer directement des script ou rediriger les sorties en utilisant les operateurs du style [...]
Oniria
Messages postés292Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention18 décembre 20143 14 févr. 2008 à 13:25
Bonjour,
FOXI a bien trouvé le truc, il faut utiliser un TProcess qui se trouve dans la barre d'outils de lazarus. En cherchant dans le wiki de lazarus, tu trouveras facilement comment faire.
yannfrance
Messages postés48Date d'inscriptionmardi 18 septembre 2007StatutMembreDernière intervention 1 décembre 2010 14 févr. 2008 à 15:28
Bonjour tous,
Alors là, je dit super exellent, je tire mon chapeau.
Tres puissant comme composant.
J'ai trouver tous de suite comment l'adapter à mon projet.
Car en faite, il me sert à executer des scripts qui sont générer par mon prog.