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

时间:2016-03-23 22:24:52

标签: java bridj

在GitHub上的BridJ repo中有一个名为TaskbarListDemo.java的示例。当我尝试使用从Maven(版本0.7.0)下载的.jar library进行Netbeans编译时,不推荐使用第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)

非常感谢!

1 个答案:

答案 0 :(得分:1)

免责声明:我真的不知道这个解决方案是否漂亮,但是它可以解决“弃用”问题:

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