创建唯一的DWord常量,而不是与任何TObject地址并发

Pro*_*020 1 delphi

我在D7中使用Python4Delphi.我想将对象地址作为"句柄"传递给Py部分.例如
h:= Integer(Pointer(Memo1));.我还想要特殊的句柄值,这意味着一些特殊对象,例如-1"当前备忘录",-2意思是"下一个备忘录".

我怎样才能选择这么少(我需要5个)常量,这些常量不会与对象地址冲突?例如

  • -1 - 它可以是一些TMemo(其他TObject)的地址吗?
  • -2 - 它可以是一些TMemo的地址吗?
  • 我还能采取哪些不能成为TMemo地址的常量?

Dav*_*nan 5

当然,在Windows上,您可以使用低地址来实现此目的.你需要五个哨兵价值?使用1到5.这些值永远不是用户空间中的有效地址.

当然,如果您准备在运行时分配值,您可以通过简单的调用为自己保留一些地址GetMem.再次,你需要五个地址,打电话GetMem(5),你就完成了.