Hwa*_*wau 0 delphi casting variable-assignment
我将对象和整数值分配给整数变量:
MyIntegerValue := Integer(MyObject);
MyIntegerValue := 2;
MyIntegerValue := 500;
...
Run Code Online (Sandbox Code Playgroud)
如何检查是否已为MyIntegerValue分配了有效对象?
如何检查是否已为MyIntegerValue分配了有效对象?
你不能.没有数据位来指示Integer所持有的内容.指针(无论它指向什么)只是一个数字,就CPU而言.它恰好是一个代表内存地址的数字.
此外,您尝试将对象指针存储在一个Integer将无法在64位系统上运行,您需要使用NativeInt/ NativeUInt而不是,否则您将截断指针值.
要做你想要的,你必须使用另一个变量来表示Integer值代表什么.或者更好的是,使用一个容器类型,知道它持有什么,TValue或者Variant(是的,你可以将对象指针存储在a中Variant,有些工作).