A line of code which works in 32 bit AutoCAD (2010) now fails under 64 bit AutoCAD (also 2010).
This line in particular: args.Add(New TypedValue(RTLONG, oID))
[args is a ResultBuffer, oID is a Long value, and RTLONG is an Integer = 5010]
-I keep getting a truncation error saying it can't convert an Int64 to Int32. -Why should it matter what length oID is? It's an objec, why is it trying to convert it?t. -What do I need to change here to make this compatible for 64 bit AutoCAD?
Is there an Int64 equivalent for a TypedValue then? (I can't convert the oID Int64 to Int32 without the truncation error - as you might've surmised, oID represents an ObjectId as a number - which is 64 bit Long, no?)
Comment from file adscode.h:
// These next two codes are added for developer convenience and are
// not supported by entity access, dxf, xdata or xrecord routines.
// They are, however, supported by the resbuf utility functions
// (acutBuildList, acutNewRb and acedInvoke).
#define RTLONG_PTR 5030 // integer value with pointer precision
#define RTINT64 5031 // integer value with 64-bit precision
You can try those. Also you can try:
#define RTENAME 5006 /* Entity name */