Aller au contenu

Variant ou Double?


Invité Patrick

Messages recommandés

Un point doit parfois être stocké sous forme de Variant, parfois sous forme d'un tableau de Double. Il semble qu'une fonction telle que ThisDrawing.Utility.GetPoint nécessite de stocker le résultat dans un Variant et qu'une fonction telle que ThisDrawing.Utility.PolarPoint aie besoin d'un tableau de Double.

Qu'en est-il exactement? Un point 3D n'est-il pas toujours la même chose? Ne peut-on pas utiliser un Variant systématiquement puisque sa caractéristique est de varier suivant son contenu?

Lien vers le commentaire
Partager sur d’autres sites

  • 4 mois après...

Je n'ai pas de réponse évidente.

(Ceci n'est que mon opinion)

D'après moi, c'est une question de hyérarchie d'objet lorsque qu'ils ont été designé avec C++ (ObjectARX) et le fait que certaines de ces objets requiert seulement une valeure en X et en Y, et pas de Z, qui est beaucoup plus facile à gérer avec un Variant qu'avec un "Property Get":

 

(Équivalent de ce que je veut dire en VB NET)

(pour le Cercle)

Public Property Overrides Center() as Variant

'ReDim Center(0 to 2)

 

(pour le PViewport)

Public Property Overrides SnapBasePoint() as Variant

'ReDim SnapBasePoint(0 to 1)

 

Garde en tête que la source d'AutoCAD est en C++ et que, comme tu as surement déjà remarqué, le modèle VBA est incomplet et semble avoir été fait "à la presse". Cette particularité (l'utilisation de variants variant :exclam: ) me saute au visage comme étant un grand "time-saver"........ simplement....

Apprentis-expert....

"The human mind, once stretched by a new idea, never regains its original shape."

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité