Announcements

Announcement: We’re aware of an issue affecting starting a new topic from category pages and creating new blog posts. New topics can still be started directly from the relevant board. Learn more here.

read and set the attributes of blocks in windows 64 bit

read and set the attributes of blocks in windows 64 bit

Anonymous
Not applicable
909 Views
2 Replies
Message 1 of 3

read and set the attributes of blocks in windows 64 bit

Anonymous
Not applicable
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
0 Likes
910 Views
2 Replies
Replies (2)
Message 2 of 3

Anonymous
Not applicable
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:[email protected]...
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
0 Likes
Message 3 of 3

Anonymous
Not applicable
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