1
29
不。 首先,没有所谓的“非实例化变量”,你只需在源文件中输入它的名字和类型就可以实例化它。 不再存在 一旦你的程序被编译。在那之后,一切都是零碎的。
任何你想用的时间
如果要将任意地址传递给一个函数,并让该函数发现其自身的类型信息,那就太不走运了。你需要通过
The answer that you gave 暗示着你在寻找的不是你想要的东西。考虑到你的问题,我以为你在寻找一个可以满足这段代码的假设函数:
让我们使用
这显然不管用
这应该会导致访问冲突。
现在让我们仔细看看
没有什么 关于变量,只有关于 他们坚持住了。因此,我不会考虑这些函数来回答如何获取变量类型信息的问题。 价值
你可能会反对我如何滥用这些函数,把显然是垃圾的东西传递给它们。但我想那是 只有 谈论这个话题是有意义的。如果你知道你永远不会有垃圾值,那么你无论如何都不需要你要的函数,因为你已经对你的程序有足够的了解,可以对你的变量使用真正的类型。 总的来说,你问错了问题。而不是问你如何确定变量的类型或者内存中的值的类型, 你应该问问你是如何让自己陷入一个你还不知道变量类型和数据的境地的 |
2
2
我不知道。可以获取类的已发布属性的RTTI(运行时类型信息),但不能获取字符串和整数等“普通”变量的RTTI。信息根本不在那里。 此外,传递var而不传递类型的唯一方法是使用泛型TObject参数、泛型类型(D2008,如in)或非类型化参数。我想不出另一种方法来传递它,甚至可以编译它。 |
3
0
|
Some1Else · 函数在Delphi中重新创建TForm 2 年前 |
Agmcz · Delphi安卓库。so未安装(AAB) 2 年前 |
nader · 如何使用delphi在web上提交表单 6 年前 |
kwadratens · Delphi中的卡方分布函数代码 6 年前 |
user9672569 · 如何在完整的位图图像中绘制阴影效果? 6 年前 |
mmmm · MSBuild(用于Delphi)Make-like功能 6 年前 |