如何在Delphi中从指针获取变量?
|
我需要能够将裸指针转换为变量。我知道指针指向一个变体,但我似乎无法将其删除。笔直转换(正如我几乎认为的那样)失败:
Result := Variant(FAddress)^
返回编译器错误:[DCC错误] E2089无效的类型转换
我也已经搜索了variants.pas单元,但没有任何提示。
显然,我缺少了一些东西。这是怎么做的?
没有找到相关结果
已邀请:
1 个回复
绵扇寸访
更好的是,以正确的类型声明
开头,然后您无需进行强制转换:
编译器认为您尝试的类型转换无效,因为Variant类型大于Pointer类型。编译器不知道从何处获取附加数据以创建完整的Variant值。并且如果类型转换有效,则无论如何都不允许在Variants上使用
运算符。您可能已经摆脱了:
我从没喜欢过。如果FAddress是一个无类型的指针,则对其取消引用会产生一个完全没有任何大小或类型的值,并且将这种事情类型转换为怪异的。