Aller au contenu

Point3d que je peux écrire, mais pas lire


GEGEMATIC

Messages recommandés

Salut à tous,

je récupérer un point3d dans un variable,

quand j'inspecte cette variable, j'ai bien ce que j'y ai mis,

mais quand je l’inspecte, j'ai coordinate en rouge,

avec ce message:

"Pour évaluer une propriété indexée, cette dernière doit être qualifiée et l'utilisateur doit fournir les arguments de manière explicite."

du coup je n'arrive pas à lire les coordonnées individuellement.

 

Tous les exemples que j'ai trouvé créent un pt de toute pièce, et ne mettent pas un pt dans une variable pt.

ce qui me fait rager, c'est que j'ai déjà eu ce message sous access, et que je ne me souvient pas de ce que j'avais fait ...

Dim pt As Point3d = oODRecord.Item(fieldIndex).Point
'la ligne suivante crée une rerreur
Dim x As double = pt.X

'ou alors


    
Dim pt2 As New Point3d(oODRecord.Item(fieldIndex).Point.X,
                       oODRecord.Item(fieldIndex).Point.Y,
                       oODRecord.Item(fieldIndex).Point.Z)
'la ligne suivante crée aussi une rerreur
Dim y As double = pt2.Y



'et enfin
Dim center As New Point3d(9.0, 3.0, 0.0)
'ça marche nickel
Dim  Z As Object = center.Z

j'avoue que je ne comprends pas

Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

C'est quoi comme type d'objet : oODRecord ?

Est-ce que c'est l'intellisense de VS qui te propose la propriété Point pour : oODRecord.Item(fieldIndex) ?

Si oui, quel est le type de l'objet retourné par : oODRecord.Item(fieldIndex).Point ?

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

salut Gile et merci de te pancger sur le problème:

 

Dim oODRecord As Autodesk.Gis.Map.ObjectData.Record

 

c'est un enregistreement de données d'objet

 

FieldValue = oODRecord.Item(fieldIndex).Point

 

point est bien proposé par intellisense, et la variable contient bien les valeur,

 

l'objet est de type point3d tel que défini dans:

Autodesk.AutoCAD.Geometry

 

 

sauf qu'un point lu dans un enregistrement ne semble pas être pareil qu'un point créé de toute pièces

 

Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

As-tu essayé un cast explicite ?

Dim pt As Point3d = DirectCast(oODRecord.Item(fieldIndex).Point, Point3d)

Si j'ai bien compris (je ne connais pas MAP ni son API), Autodesk.Gis.Map.ObjectData.Record est un objet COM et les objets COM ne sont pas toujours aussi fortement typés que les objets .NET (e.g. le 'type variant' vu comme 'Object' en .NET).

De plus, VB, quand l'option 'Strict' est 'Off' peut faire de la liaison tardive implicite masquant ainsi les typages appriximatifs...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

salut,

 

pour le DirectCast, il me dit que ce n'est plus possible de l'utiliser pour convertir un objet d'un type point3d vers point3d

 

ce que j'ai ommis de dire, c'est le message de visualstudio, lorsque j'essaye d'acceder à pt était:

pt n'est pas initialisé, il est peut être inaccessible en raison de son niveau de protection, ça t'aurai certainement permis de comprendre le problème.

 

J'ai fini par comprendre mon erreur : pt n'était pas déclaré pour tous les chemins du code, le dim était mal placé,

mais ce qui m'a perturbé, c'est ce message lors du survol de la variable, qui lui est toujours présent sur coordinate

(DirectCast(strVal,Autodesk.AutoCAD.Geometry.Point3d).Coordinate) :

 

"Pour évaluer une propriété indexée, cette dernière doit être qualifiée et l'utilisateur doit fournir les arguments de manière explicite."

 

je ne comprends toujours pas ce message, mais ça n’empêche pas mon programme de marcher !

 

Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

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é