java - BridJ - Pointer.pointerToAddress(long peer) 已被弃用

标签 java bridj

有一个例子叫TaskbarListDemo.java在 GitHub 上的 BridJ 仓库中。当我尝试使用 .jar library 在 Netbeans 中编译时从 Maven(版本 0.7.0)下载,本示例第 100 行中使用的方法 Pointer.pointerToAddress(long peer) 已弃用。

在这种情况下,正确的使用方法是什么? The docs没有解释任何事情。有以下选项可用(未标记为已弃用):

public static <P> Pointer<P> pointerToAddress(long peer, PointerIO<P> io)
public static <P> Pointer<P> pointerToAddress(long peer, Class<P> targetClass, Pointer.Releaser releaser)
public static <P> Pointer<P> pointerToAddress(long peer, Type targetType, Pointer.Releaser releaser)
public static Pointer<?> pointerToAddress(long peer, long size, Pointer.Releaser releaser)
public static <P> Pointer<P> pointerToAddress(long peer, long size, PointerIO<P> io, Pointer.Releaser releaser)

非常感谢!

最佳答案

免责声明:我真的不知道这个解决方案是否漂亮,但它有效并且解决了“已弃用”的问题:

Releaser nopReleaser = new Releaser() {
    @Override
    public void release(Pointer<?> pointer) {
        // NOP
    }
};
hwnd = Pointer.pointerToAddress(hwndVal, Integer.class, nopReleaser);

关于java - BridJ - Pointer.pointerToAddress(long peer) 已被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36189857/

相关文章:

java - 如何从java中的所有 Activity session 中清除 session 属性?

java - 在 URL 中使用 # 作为值键

android - Bridj 是否推荐用于 OpenCV?

java - 由于希伯来语用户名,无法使用 bridj 加载外部 dll

java - 在 Java 中并使用 Bridj,如何动态调用任何 native 函数?

java - JNA/BridJ 等中的段错误

java - 如何处理: Communication link failure

Java 转换(动态)

使用操作数堆栈和局部变量可视化进行 Java 字节代码调试?

java - Pointer[Float] 类型的表达式不符合 Scala 中预期的 Pointer[Float] 类型