Comportement instable de lappli selon pc ou chemin

Résolu
mike600river31 Messages postés 15 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 11 janvier 2008 - 9 janv. 2008 à 13:45
mike600river31 Messages postés 15 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 11 janvier 2008 - 9 janv. 2008 à 18:34
Bonjour,
Voici mon probleme:

Une partie de mon appli delphi lance qui un shell qui permet de decompresser un fichier .tar avec IZArcCL.
Je fais mon dév, teste le exe, pas de probleme.

Test en placant mon exe sous le bureau => soucis :
IZArc est bien lancé, il se fini mais qd il a terminé le fichier n'a pas été décompressé.
Idem pour la compression utilisée dans une autre partie de l'appli
Je précise que le path des fichiers est correct ainsi que celui d'IZArc

Je place le exe dans D: => ca marche, dans C: => ca marche

Le chemin du bureau comportant monNom@monReseau je me dis que peut etre ya t il une histoire de droits la dessous mais les tests suivants me posent encore plus de questions :

Exe sur le pc d un collègue => ca décompresse pas

Exe sur le pc d un second collègue => ca marche

Je ne comprend pas du tout quel peut etre la source du probleme, c est la premiere fois que je lance des shell depuis un programme et je ne comprend pas du tout ce comportement aleatoire.

Je suis preneur de toute supposition car j'ai un délai tres reduit, je ne pensais pas tomber sur ce type de probleme.
Peut etre qu une autre section du forum serait plus appropriée mais je ne sais pas laquelle.

Merci de vos reponses

7 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
9 janv. 2008 à 17:02
Si les problèmes viennent des espaces

alors une des solutions serait d'utiliser "ExtractShortPathName" de SysUtils.pas

MyPath := 'C:\Program Files\Toto\';
MyPath := ExtractShortPathName(MyPath);
Renvoie 'C:\Progra~1\Toto\'

et comme ça il n'y a plus de problèmes

 
@+
Cirec

<hr siz="" />
3
mike600river31 Messages postés 15 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 11 janvier 2008
9 janv. 2008 à 14:11
Je precise que mon poste est en win2000, le poste sur lequel ca a marché aussi et celui sur lequel ca passe pas est en XP.
Se peut il qu il y ait un probleme de version windows qui entraine une mauvais
fonctionnement sur le poste XP
Plus un pb de droit eventuel qui entraine une mauvais fonctionnement sur mon poste?
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
9 janv. 2008 à 15:11
salut,

je penses que les shell devrait n'être utilisée que lorsque tu ne peux pas faire autrement.

jetes un oeil ici ou demande à google:
http://www.torry.net/pages.php?s=99
http://delphi.about.com/od/toppicks/tp/delphi_zip.htm

sinon, vérifie bien que tu passes des chemin complet (cad indépendant du Working directory).
au pif, je dirais que t'as plustot un problem de WD ou de char spéciaux (les shell aiment pas bcp les trucs genre espace et autre @)

Tu peux faire des test en appelant un batch qui te fait un trucs genre "echo %1 > c:\out.txt"  (avec ou sans le c:\) pour voir si le problem vient des chemins.

bon code,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0
mike600river31 Messages postés 15 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 11 janvier 2008
9 janv. 2008 à 15:24
Merci de ta reponse, il n y a pas de probleme de chemin, je passe les noms complets.

Pb de WD tu veux dire que selon la version de WD ca accepte ou non
c ce que je suppose aussi mais ca m arrangerait que ce ne soit pas ca le pb :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
9 janv. 2008 à 15:47
Working Directory: (pas WinDows)
http://en.wikipedia.org/wiki/Working_directory

as-tu fait des test avec des chemin long (ie: avec espace &Co) ? J'ai souvent eut des problème avec des trucs sur le bureau car  le chemin d'acces et dans "document and setting" avec de beau espaces.

as-tu fais des test avec un batch? (tu serais surpris des fois des paramêtre que tu reçois en ligne de commande)

sinon, je ne peux pas t'aider plus. év. regarde des exemples de shellexecute pour comparer les paramêtres....

bonne chance,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0
mike600river31 Messages postés 15 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 11 janvier 2008
9 janv. 2008 à 16:44
Je suis en train de faire des tests pour verifier l hypothese de Loda
car j ai des problemes quand il y a du documents and settings ou du "mes documents" ou "program files" donc qd il y a un espace

@cirec :
ca plante aussi sur mon poste dans ... program files
les noms sont defini par delphi avant de lancer le shell
(avec extractFilePath ou Dir)
Pour cette fois ci je ne l utiliserai pas (contraintes independantes de ma volonté :) ) mais pour mon projet ta source me servira :)
0
mike600river31 Messages postés 15 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 11 janvier 2008
9 janv. 2008 à 18:34
Merci a vous deux.

Avec la fonction ExtractShortPathName de Cirec plus de probleme!

A bientot ;)
0
Rejoignez-nous