Transtypage
Utiliser AS ou TMaClasse(xxxx)
Transtypage de la forme : TObject(MonObject)
- Typecast sans vérification : Convertit directement `MonObject` en `TObject` sans vérifier son type réel.
- Pas de vérification à l'exécution : A Utiliser lorsque vous êtes certain que `MonObject` est un `TObject`.
- Risques : Peut entraîner des comportements indéfinis ou des erreurs si `MonObject` n'est pas un `TObject`.
Transtypage de la forme : (MonObject as TObject)
- Typecast avec vérification : Tente de convertir `MonObject` en `TObject` et vérifie le type à l'exécution.
- Vérification à l'exécution : Lève une exception `EInvalidCast` si `MonObject` n'est pas un `TObject`.
- Sécurité : Utilisé lorsque vous n'êtes pas sûr que `MonObject` est un `TObject`, pour éviter des erreurs non gérées.
Exemple
var MyObject: TObject; begin // Sans vérification MyObject := TObject(SomeOtherObject); // Avec vérification try MyObject := SomeOtherObject as TObject; except on E: EInvalidCast do ShowMessage('The object cannot be cast to TObject'); end; end;
Utilisation
- `TObject(MonObject)` : Plus rapide, sans vérification, utilisé lorsque le type est certain.
- `(MonObject as TObject)` : Plus sûr, avec vérification, utilisé lorsque le type est incertain.
Vous pourriez laisser un commentaire si vous étiez connecté.