maybe use a safearray?(vlax-make-variant 1234567890123456789 20)Code - Auto/Visual Lisp: [Select]
maybe use a safearray?(vlax-make-variant 1234567890123456789 20)Code - Auto/Visual Lisp: [Select]
#<variant 20 1234567890123456768>
why?
// 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
(setq a(vlax-make-variant 12345678901234567))
return: #<variant 5 1.23456789012346E+16>
i need a long long integer
using 9223372036854775807 (max int64) as a test in ARX
(set64 9223372036854775807) fails because it comes through as a double, so I think that's a maximum of 53bits .?.
(get64) returns 9223372036854775807, so that's a success
BricsCAD sees the int64 as a int16, so... looks like your SOL
code for referenceCode - C: [Select]
static int ads_set64(void) { resbuf* pRb = acedGetArgs(); if (pRb->restype == RTINT64) { acutPrintf(_T("\nsuccess, %ls"), std::to_wstring(pRb->resval.mnInt64).c_str()); acedRetT(); } acedRetNil(); acutRelRb(pRb); return (RSRSLT); } static int ads_get64(void) { resbuf* pRb = acutNewRb(RTINT64); pRb->resval.mnInt64 = 9223372036854775807; acedRetList(pRb); acutRelRb(pRb); return (RSRSLT); }
Okaiaa is INT,but can not add sub
(setq aa(vlax-variant-value(vlax-make-variant 15000000000 20)))
How to read the "aa"?
How to add the aa+other number?
How to divide aa / int32?
(setq a1int 100 or nil)
(setq a2real 3.14 or nil)