Delphi6 et dbiErr_DriveNotReady
Bonjour,
Sur une forme, j'ai une table "Query".
Je charge les instructions SQL par programme, puis je l'active dans un contrôle "try/except"
J'intercepte bien toutes sortes d'erreur, mais quand je définit, dans le code de ma requete, un lecteur amovible et qu'il n'y a rien dans celui-ci, j'obtiens cette erreur, que je n'arrive pas à contrôler :
Citation:
There is not disk in the drive. Please insert a disk into drive \Device\Harddisk3\DR15
Normal, puis le message :
Citation:
Le projet SFMLS.exe a provoqué une classe d'exception EBDEngineError avec le message "Le lecteur n'est pas prêt Fichier: m:\Voitures.dbf" Processus stoppé. Utilisez pas à pas etc...
Et ensuite seulement, j'arrive dans mon except.
Cette erreur correspond au code erreur suivant ;
DbiErr_OsDriveNotReady (11061 $2B35)
Mais impossible de l'intercepter :(
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| begin
try
If Query1.Active then Query1.Active := False;
Query1.SQL.Clear;
Query1.SQL.LoadFromFile(WCheminDatabase + WSQL_Name);
Query1.Active := True;
Membres.Active := True;
MbrWork.Active := True;
MbrWork.BatchMove(Query1, batCopy);
Query1.Active := False;
// Ca plante juste après l'instruction ci-dessus
Membres.Active := False;
MbrWork.Active := True;
Label3.Caption := IntToStr(MbrWork.RecordCount);
except
on E: Exception do
begin
MbrWork.Active:= False; // efface le résultat de la précédente requête
ShowMessage('Au moins une erreur empêche l''exécution de la requête'
+ #13 + #13 + ' --> ' + E.Message + #13 + #13
+ ' Corriger et relancer');
end;
end; |