VBA
Discuss AutoCAD ActiveX and VBA (Visual Basic for Applications) questions here.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

read and set the attributes of blocks in windows 64 bit

2 REPLIES 2
Reply
Message 1 of 3
Anonymous
543 Views, 2 Replies

read and set the attributes of blocks in windows 64 bit

Hello everyone
I read and set the attributes of blocks using VBA in AutoCAD 2010 on
Windows 64 bit.

In Windows 32-bit I always used the following code without problems:

NposScr = elem.GetBlockAttributeValue(o.ObjectID)

and


Call oML.SetBlockAttributeValue(o.ObjectID, "TEST")

But now in Windows 64 bit does not work.

I tried to replace o.ObjectID with o.ObjectID32 and early seemed to
work, but after a while 'has begun to indicate the following error:


Compile error: Function or interface marked as restricted, or the
funzion uses an Automation type not supported in Visual Basic

I want a code that works with both Windows 64-bit and 32 bit Windows.

Can you help?

Thanks
2 REPLIES 2
Message 2 of 3
Anonymous
in reply to: Anonymous

Well, you're going to have to think about migrating to VB.NET.

The problem appears to be that 64 bit integers are not a type
supported by ActiveX.

--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD
Supporting AutoCAD 2000 through 2010

http://www.acadxtabs.com

Email: string.Format("{0}@{1}.com", "tonyt", "caddzone");

"UItaly" wrote in message
news:6343854@discussion.autodesk.com...
Hello everyone
I read and set the attributes of blocks using VBA in AutoCAD 2010 on
Windows 64 bit.

In Windows 32-bit I always used the following code without problems:

NposScr = elem.GetBlockAttributeValue(o.ObjectID)

and


Call oML.SetBlockAttributeValue(o.ObjectID, "TEST")

But now in Windows 64 bit does not work.

I tried to replace o.ObjectID with o.ObjectID32 and early seemed to
work, but after a while 'has begun to indicate the following error:


Compile error: Function or interface marked as restricted, or the
funzion uses an Automation type not supported in Visual Basic

I want a code that works with both Windows 64-bit and 32 bit Windows.

Can you help?

Thanks
Message 3 of 3
sschnei6
in reply to: Anonymous

Hello, I've been wrestling with this too. If you use GetBlockAttributeValue32 instead of GetBlockAttributeValue it should work. I know this is a couple years old, but I've had success with this: ex: strDesc = acdMleader.GetBlockAttributeValue32(oAttDef.ObjectID32) Regards, Stephen Schneider

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost