Mit folgendem Try Execpt Teil will ich mögliche Fehler beim öffnen bzw. activieren einer Tabelle abfangen.
try <br>
(Components[i] As TTable).Active := True; <br>
except <br>
On E : EDBEngineError do <br>
Begin <br>
For ExceptCount := 0 to E.ErrorCount - 1 do <br>
begin <br>
// (EDBEngineError(E).Errors[ExceptCount].Message); <br>
Case e.Errors[ExceptCount].ErrorCode of <br>
// hier Behandlung möglicher Errorcodes <br>
end; <br>
end; <br>
end; <br>
end; // Ende Try Except <br>
end; // Ende If Begin <br>
<br>
Dies funktioniert soweit auch. Leider habe ich bislang noch nichts gefunden wo die einzelnen Errorcodes aufgelister werden. Der Versuch eine Tabelle zu öffnen die nicht in dem angegebenen Verzeichnis liegt für z. B. zu dem Errorcode 10024. Also könnte ich in der Case Anweisung die 10024 behandeln. Was ist aber mit anderen Erorrcodes??? Muß ich sämtliche Fehler provozieren um den Errorcode zu erhalten und diesen dann zu behandeln?
In der Hilfe zu EDBEngineError stößt man dann auch irgendwann auf TDBError welcher in seiner Eigenschaft Errorcode (Bsp. 10024) ein hohes Byte (Category) und ein niedriges Byte (SubCode) enthält. Diese Werte sollen laut der Hilfe in der BDE.INT wiedergefunden werden.
Wenn der Ansatz mit dem hohen und dem niedrigen Byte richtig sein sollte, wäre ich Dankbar wie ich diese denn dann auflöse, um in der BDE.INT zu suchen.
try <br>
(Components[i] As TTable).Active := True; <br>
except <br>
On E : EDBEngineError do <br>
Begin <br>
For ExceptCount := 0 to E.ErrorCount - 1 do <br>
begin <br>
// (EDBEngineError(E).Errors[ExceptCount].Message); <br>
Case e.Errors[ExceptCount].ErrorCode of <br>
// hier Behandlung möglicher Errorcodes <br>
end; <br>
end; <br>
end; <br>
end; // Ende Try Except <br>
end; // Ende If Begin <br>
<br>
Dies funktioniert soweit auch. Leider habe ich bislang noch nichts gefunden wo die einzelnen Errorcodes aufgelister werden. Der Versuch eine Tabelle zu öffnen die nicht in dem angegebenen Verzeichnis liegt für z. B. zu dem Errorcode 10024. Also könnte ich in der Case Anweisung die 10024 behandeln. Was ist aber mit anderen Erorrcodes??? Muß ich sämtliche Fehler provozieren um den Errorcode zu erhalten und diesen dann zu behandeln?
In der Hilfe zu EDBEngineError stößt man dann auch irgendwann auf TDBError welcher in seiner Eigenschaft Errorcode (Bsp. 10024) ein hohes Byte (Category) und ein niedriges Byte (SubCode) enthält. Diese Werte sollen laut der Hilfe in der BDE.INT wiedergefunden werden.
Wenn der Ansatz mit dem hohen und dem niedrigen Byte richtig sein sollte, wäre ich Dankbar wie ich diese denn dann auflöse, um in der BDE.INT zu suchen.
Comment