Problème ensemble d'exploration (TDriveCombobox, TDirectoryListBox...)

Problème ensemble d'exploration (TDriveCombobox, TDirectoryListBox...) - Delphi/Pascal - Programmation

Marsh Posté le 18-02-2005 à 09:05:16    

Bonjour à tous !
J'ai un soucis. Je suis en train de faire une zone d'exploration composée d'un TDriveCombobox, TDirectoryListBox, TFileListBox, FilterCombobox.
Or, lorsque je sélectionne le lecteur D (mon lecteur CD) dans le TDriveCombobox, l'appli plante (sans doute dut au fait que ce lecteur soit vide ).
Comme faire pour vérifier si le lecteur est vide ?
Merci !


---------------
Avec Linux, je fais ce que je veux! Avec Windows, je fais ... ce que je peux...
Reply

Marsh Posté le 18-02-2005 à 09:05:16   

Reply

Marsh Posté le 18-02-2005 à 11:10:01    

Ya personne ici ?? ;)
J'ai trouvé une fonction ki vérifie si le lecteur contient un disque :
 
function DiskInDrive(const Drive: Char): Boolean;
var
  DrvNum: Byte;
  EMode: Word;
begin
  Result := False;
  DrvNum := Ord(Drive);
  if DrvNum >= Ord('a') then
    Dec(DrvNum, $20);
  EMode := SetErrorMode(SEM_FAILCRITICALERRORS);
  try
    if DiskSize(DrvNum - $40) <> -1 then
      Result := True
  finally
    SetErrorMode(EMode);
  end;
end;
 
Ensuit, sur L'évènement OnChange de ma TDriveCombobox je met :
 
 
 drivezone.DirList:=nil;
 
 try
    if not DiskInDrive(drivezone.drive)
    then begin
    showmessage('Le lecteur '+drivezone.drive+': est vide');
    end;
  finally
    drivezone.DirList:=arbre;
   end;
 
Cependant, J'ai à chauqe PREMIER clique sur un lecteur vide un message d'erreur Windows Erreur E/S et seulement ensuite si je reclique SANS CHANGER DE LECTEUR sur mon lecteur vide, j'ai ma boite de dialogue de remplacement, Pouvez vous m'aider ?
 
Merci


---------------
Avec Linux, je fais ce que je veux! Avec Windows, je fais ... ce que je peux...
Reply

Marsh Posté le 18-02-2005 à 11:11:07    

Comment ça "plante" ? Si c'est juste une Exception qui est lancée, il faut la récupérer avec un try/except.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-02-2005 à 11:12:32    

Ces composants ce sont des machins datant de Windows 3.1, ça donne un look assez vieillot quand même :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed