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é.