diff --git a/runtime/src/main/java/com4j/DispatchComMethod.java b/runtime/src/main/java/com4j/DispatchComMethod.java index 9ea7029a..c6462a51 100644 --- a/runtime/src/main/java/com4j/DispatchComMethod.java +++ b/runtime/src/main/java/com4j/DispatchComMethod.java @@ -47,10 +47,14 @@ Object invoke(long ptr, Object[] args) { if(v==null) return null; - if(retType==void.class) - return null; + try { + if(retType==void.class) + return null; - return v.convertTo(retType); + return v.convertTo(retType); + } finally { + v.clear(); + } } private static final int DISPATCH_METHOD = 0x1;