Accueil > Forum > > > > Chemin verrouiller
Chemin verrouiller
lundi 19 novembre 2007 à 15:13:29 |
Chemin verrouiller

raynaldos
|
Voici l'Explication!
La situation est la suivante; j'ai un petit programme qui a besoin de détruire des tables dans un répertoire puis le répertoire par la suite je réussis à détruire les tables mais quand je viens pour détruire le répertoire il me dit qu'il est utilisé par une personne ou un programme.
J'ai pris soin de ne avoir ce répertoire comme répertoire courant «Setcurrentdir= c:\» et non mon répertoire que je veut détruire.
J'ai utilisé de façon externe «unlocker» et je voie que ça fonctionne bien, je voie le chemin verrouiller dans la fenêtre et je peut «débloqué» au besoin le répertoire.
Mais comment puis-je le faire avec delphi?
Avec «unlocker» je réussis à enlever les locks sur le répertoire mais je ne veut pas avoir à utilisé «unlocker» quel serait le code?
Piste: c'est une question de «PID» et processus.
|
|
lundi 19 novembre 2007 à 15:23:48 |
Re : Chemin verrouiller

Loda
|
http://www.delphifr.com/reglement.aspx --> http://www.delphifr.com/infomsg_DOSSIER-LOCKER_1036521.aspx#2
Loda
PS: "Piste: c'est une question de «PID» et processus. " j'en conclus que tu ne sais pas ce qu'est un PID. Vu que tu nous fait partiquement un pléonasme....
Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
|
|
lundi 19 novembre 2007 à 16:14:46 |
Re : Chemin verrouiller

raynaldos
|
Je ne suis pas habitué avec ce site et les façons de faire
Je m'en excuse !
«C'est surement que tu n'as pas fermé un des fichiers qui est dedans»
Les tables ont tous été détruite dans ce répertoire donc il ne reste plus
aucun fichier.
À cette étape il ne me reste qu'a détruire le répertoire mais voilà qu'il
m'est impossible de le détruire.
Message;
Impossible de supprimer z2 : Cette ressource est utilisée par une autre personne ou un autre programme. Fermez les programmes susceptibles d'utiliser le fichier.....
J'ai utilisé les functions les plus commune mais ça ne fonctionne pas donc je me suis mis à douté que le répertoire était locker par mon programme étant donné que j'avais détruit des fichiers. Quand j'utilise le programme «Unlocker.exe» il m'indique que le répertoire est bloqué voici
la ligne;
Processus Chemin verrouillé PID Chemin processus
GESTIONNAIRE.EXE C:\GDATA\PROJET\Z2 3676 C:\LE GESTIONNAIRE.EXE
Les options de «Unlocker.exe» sont;
«Fermer le processus» «Débloquer» «Tout débloquer»
Si je clique sur «Débloquer» mon répertoire est revenus libre et je peut le détruire.
Quand je dit que je ne peut pas le détruire c'est dans l'explorateur de windows que j'essaie de le détruire et non par mon programme car je me dit
que c'est inutile d'essayé de le détruire par programation si je ne suis même
pas capable de le détruire directement mais quand je clique sur «Débloquer» dans «Unlocker.exe» et que j'essais de le détruire à nouveau là ça marche !
Alors ?
|
|
mardi 20 novembre 2007 à 09:33:41 |
Re : Chemin verrouiller

Francky23012301
|
raynaldos : Pas l'habitude. Ouep mais il y a le règlement et tu as du le lire  . Pour reprendre la remarque de Loda : Sans code on ne peut pas savoir. Si tu ne peux pas supprimer ton répertoire c'est qu'un de tes fichiers est utisé. Donc ton code de suppression doit avoir un ptit problème : mais sans code on ne peut pas te dire.
|
|
mardi 20 novembre 2007 à 14:03:24 |
Re : Chemin verrouiller

raynaldos
|
Je n'avait pas l'habitude d'utiliser votre fenêtre pour demandé de
l'aide mais je comprend par vos propos que je ne suis pas le bien venus.
Milles excuse pour avoir dérangé votre routine.
Mais voilà la réponse à mes questions j'ai trouvé q'étant donné que les
tables que je détruit sont des tables paradox c'est la session qui lock le répertoire je doit donc après avoir détruit mes tables fermer la session par «session.close» détruire mon répertoire et réouvrir ma session avec «session.open» mais en débug ça ne marche pas car c'est «delphi» qui lock le répertoire il faut écrire le code et lancer l'exécutable et là ça marche.
J'espère avoir contribué à votre éveille !
|
|
mardi 20 novembre 2007 à 15:03:50 |
Re : Chemin verrouiller

Loda
|
re,
je voudrais juste clarifier un-deux points:
"votre fenêtre pour demandé de l'aide" cela s'appel un forum, c'est un concept très répondu sur internet. renseignes-toi.
"je comprend par vos propos que je ne suis pas le bien venus" Il en est tout autremenet, désolé de l'incompréhension. Le problème est qu'on aime pas bcp de se répeter ou parler dans le vide. Relit le premier thread et tu comprendra ce que j'entend par là. Tu vois, l'idée c'est qu'on pas très envie de perdre du temps à expliquer, si l'autre personne ne veux pas prendre du temps pour lire, appliquer et répondre (dans un français compréhensible et avec ponctuaction). Ceci implique, qu'après un certain temps, on a tendance à devenir plus sec.
Si tu rencontre d'autres problèmes et que tu viens avec une question bien faite, tu recevra une réponse à ta question. Le problème vient de comment tu pose ta question et comment tu traite les réponses fournies.
je te re-recommande de lire cette article: http://www.gnurou.org/writing/smartquestionsfr
"session.close" donc tu n'avais pas bien fermé tes tables.... prend 5min pour relit le premier thread.
bonne continuation,
Loda
Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
|
|
mardi 20 novembre 2007 à 15:20:33 |
Re : Chemin verrouiller

raynaldos
|
Merci Loda !
J'ai lu l'article et je te comprend !
La seul façon que je connaît pour fermer les tables est
«table.close» ou «table.active := false;»
En existe-il d'autre?
|
|
mardi 20 novembre 2007 à 19:12:07 |
Re : Chemin verrouiller
|
mardi 20 novembre 2007 à 22:00:00 |
Re : Chemin verrouiller

Francky23012301
|
Salut, Deux questions 1) Avant de supprimer ton répertoire prend tu la peine de vérifier que ta table est bien fermée ? MaTable.close; If not MaTable.Active Then //Procedure pour supprimer fichiers et répertoire ?. 2)Est tu sur que c'est la suppression du répertoire qui pose problème ou plutot un fichier qui n'est pas supprimé car utilisé ? Ton erreur pointerait elle pas son nez suite à un DeleteFile ? Car normalement si un répertoire est vide il y a pas de raison qu'on ne puisse pas le supprimer (Penser à vérifier l'absence de fichiers cachés aussi). Si ta table met du temps à se fermer ca peut poser problème. Dans ce cas tu peux faire un truc du style : While MaTable.Active Do Application.ProcessMessages If not MaTable.Active Then //Procedure pour supprimer fichiers et répertoire ?. Le problème c'est que tu n'as posté aucun bout de code et pour savoir ce qui occupe ta table .... ben on peut pas dire comme ca  .
|
|
mardi 20 novembre 2007 à 22:24:07 |
Re : Chemin verrouiller

raynaldos
|
Merci Francky!
Mais ma table est bien fermé car si elle n'est pas fermé je ne peut pas
la supprimé.
Voici un test !
1)Crée un nouveau projet delphi
2)Place sur ta feuille;
un TTable
et un TButton
3)Crée un nouveau répertoire exemple c:\A
4)Dans ce répertoire place une table paradox exemple; table.db et table.px
5)Relie la table à l'objet TTable.
6)Maintenant dans l'évènement click du bouton écrit le code
suivant;
//Ici j'ouvre la table car dans la vrai vie elle sera ouverte
//et fermé.
Table1.open;
Table1.close;
//Ici je détruit les deux fichiers
deleteFile('C:\A\MaTable.db') ;
deleteFile('C:\A\MaTable.px') ;
//ou
Table1.deleteTable;
//Ici la table est supprimé.
//Maintenant je détruit le répertoire
removedir('c:\A');
//Mais le répertoire ne sera pas supprimé
Maintenant écrit ce code
Table1.DeleteTable ;
session.close ;
removedir('c:\aa');
session.open;
//Le répertoire ne sera pas supprimé car tu est en débug en création.
//Mais enregistre ton application.
//Ferme delphi
//Et exécute ton application et ça va fonctionné
Et voilà les joies de la programmation !
Si vous trouvé une façon de faire autre que session.close et session.open et que je peut vérifié quand je suis en création avec delphi j'aimerai vraiement le savoir
Merci beaucoup !
|
|
Cette discussion est classée dans : répertoire, utilisé, chemin, verrouiller, détruire
Répondre à ce message
Sujets en rapport avec ce message
Répertoire dans lequel est situé le programme [ par Pingouin57 ]
Salut à tous,Comme l'indique le titre, je cherche à obtenir le chemin complet du répertoire dans lequel se trouve le programme Delphi. Au final, ce se
Comment savoir si un Node XML existe [ par fjohnny ]
Bonjour,Voilà sur ma version de delphi (7) le composant TXMLDocument n'existe pas. N'ayant rien touvé sur le net, je suis en train de développer un co
chemin avec espace [ par yvessimon ]
Bonjour,Un fichier peut être référencé par sont chamin avec des espaces (ex: c:\le chemin du fichir\mon fichier est fichiet.txt )Avec fileexists () l
Interdire la navigation dans TOpendialog [ par furax13 ]
bonjour,j'aimerais ne pas autoriser aux utilisateurs de changer de répertoire lorsqu'ils sélectionnent un Topendialog. Cette boite de dialogue est pré
Utilisation d'un dbgrid [ par frbos ]
Bonjour, voila mon probleme.J'utilise un DBGrid connecté a une table SqlServer.Cette table a, entre autre, 2 champs :nom : un nom de fichier (non vide
Recherche d'un dossier sur le disque [ par PHIL63 ]
Bonjour à tous,Après avoir effectué bien des recherches sur le site, je n'ai pas trouvé de solution à mon petit souci...J'ai besoin de retrouver le ch
Sauvegarde & chemin de dossier avec un OD [ par bidulchouette ]
Bonjour a tous, je rencontre quelques problèmes avec une application que je tente de mettre au point. Je m'explique, j'ai 2 soucis principaux :- Je n'
transfert de fichier/répertoire par le réseau [ par aforpien ]
Bonjour à tous,Je travail actuellement sur un prog qui permetterai la sauvegarde automatique d'un poste ainsi que l'envoi des données vers un serveur.
Renommer une série de fichiers [ par cincap ]
Bonsoir,J'ai un petit souci avec une procédure pour renommer une série de fichiers.Si les fichiers en questions ont déjà été renommé avec le nouveau n
composant TDirectoryListBox [ par cincap ]
Bonjour à tous,Dans une procédure d'installation d'un projet avec le logiciel "InnoSetup", je crée un dossier avec mon application et un répertoire in
Livres en rapport
|
Derniers Blogs
[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg [MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System 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
|