begin process at 2008 07 05 05:07:34
1 205 048 membres
34 nouveaux aujourd'hui
14 118 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [Delphi] Erreur Pas de disque dans le lecteur [ Divers / Débutant(e) ] (Tavounet)

[Delphi] Erreur Pas de disque dans le lecteur le 16/05/2008 13:46:41

Tavounet
Bonjour,

J'ai un petit problème en programmation d'un logiciel en Delphi, je réalise le programme de façon à le lancer à partir d'un CD, j'ai donc créé une procédure de test afin de "capter" la lettre du lecteur où se trouve le CD.

Cependant, lorsqu'il n'y a pas de CD dans le lecteur, il me met une erreur "Pas de Disque" avec trois boutons, Continuer, Recommencer et Annuler.

J'aurais aimé ignorer cette erreur mais apparemment Delphi reste bloqué à la ligne qui génére l'erreur.

Code : if FileExists('e:\Txt\FichDetect0123.txt') then Lecteur:='e';

Merci d' avance pour vos réponses =)

Re : [Delphi] Erreur Pas de disque dans le lecteur le 16/05/2008 14:52:57

Francky23012301
Membre Club
Salut,

if FileExists('e:\Txt\FichDetect0123.txt') then Lecteur:='e';
// <----- le beug est surement ici.

Donc si on réfléchit 5 min : Si le fichier  'e:\Txt\FichDetect0123.txt' existe alors  Lecteur:='e'; Mais si le fichier n'existe pas, qu'est ce qui passe ? Bien dans ton code rien : le reste de ta procédure continue d'avoir lieu. Donc effectivement si le fichier existe pas et que tu n'as pas arreté ta procédure, tu vas avoir droit à un beug.

Solution possible :
if FileExists('e:\Txt\FichDetect0123.txt') then Lecteur:='e'
Else Exit;



Re : [Delphi] Erreur Pas de disque dans le lecteur le 16/05/2008 18:22:20

Guillemouze
je pense pas que ce soit ca le probleme francky.
Son probleme vient du fait que la fonction FileExists de l'API windows ne retourne pas tant que l'utilisateur n'a pas inseré un cd ou cliqué sur abandonner.

Le probleme reel est de savoir si l'appel de fileExist va afficher un message qui fait qu'elle ne retournera pas avant une intervention de l'utilisateur. En gros, existe-il un fonction pour savoir si un lecteur est present.

Re : [Delphi] Erreur Pas de disque dans le lecteur le 17/05/2008 06:40:03

f0xi
Membre Club
(Admin CS)
Réponse acceptée !


voir :

ParamStr(0)
ExtractFileDrive
ExtractFileExt
ExtractFilePath

Un programme s'executant sur un CD (donc autonome, donc ne necessitant pas d'install) doit se foutre totalement de a partir de quoi il est lancé.
que ce soit un disque dur, une clef usb, un cd, en reseaux etc.

sinon regarde ma source DiskMon.
http://www.delphifr.com/codes/API-DISKUTILS-DISKMONITOR-V1-MULTI-MONITEUR-UNITES-STOCKAGE_46569.aspx




Re : [Delphi] Erreur Pas de disque dans le lecteur le 17/05/2008 11:05:56

cirec
Membre Club
(Admin CS)
Salut,

sous XP Pro SP2
la fonction FileExists ne bloque pas si le lecteur est vide ... elle renvoie juste False ....

au lieu de se poser des questions .... un petit teste répondrait plus rapidement à vos interrogations

 
@+
Cirec


Re : [Delphi] Erreur Pas de disque dans le lecteur le 17/05/2008 15:25:03

Guillemouze
<HorsSujet>
c'est quoi cette nouvelle mode des tetes de mort?
</HorsSujet>

Re : [Delphi] Erreur Pas de disque dans le lecteur le 17/05/2008 16:01:03

cirec
Membre Club
(Admin CS)
ce n'est que pure coïncidence

il n'y a pas eut de concertations à ce sujet

 
@+
Cirec


Re : [Delphi] Erreur Pas de disque dans le lecteur le 17/05/2008 19:58:19

f0xi
Membre Club
(Admin CS)

"c'est quoi cette nouvelle mode des tetes de mort?"

voir reponse de Cirec.

c'est une pure coïncidence.

Cirec c'est fait un avatar perso.
Mauricio a mis la tete de mort d'Albator je crois
et moi c'est le drapeau de pirate de Luffy dans One Piece.

Aucun n'est donc lié.




Re : [Delphi] Erreur Pas de disque dans le lecteur le 19/05/2008 11:16:58

Tavounet

En réponse à Francky : Je ne pouvais pas faire un exit si le fichier n'existait pas car je testais toutes les lettres.

Réponse à f0xi : Parfait, je me suis servi de ParamStr(0) et du ExtractFileDrive, ça réduit déjà mon code d'une vingtaine de ligne =p

Les tests après reboot sont à venir, je tiens au courant ^^

 

Merci de vos réponses



Classé sous : erreur, delphi, cd, lecteur, disque

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS