Release Notes‎ > ‎

ComfyJ 2.4 Release Notes

posted Oct 28, 2010, 7:48 AM by Unknown user   [ updated May 5, 2016, 6:30 AM by Oleksandra Kovalenko ]

Changes since version 2.3:

  • Added the CodegenForComfyJ plug-in for Eclipse.
  • Added the DllClassFactory class that allows obtaining an IClassFactory object directly from the type library file (DLL) without registering it in the system.


  • Improved performance of the Automation function calls (almost by two times).
  • Improved the Deciamal class: added the ability to create a Decimal object from a Java double value and convert a Decimal value to a double value respectively.
  • Added to ComfyJ Programmer's Guide step-by-step instructions guiding through the creation of Java COM wrappers from a COM Type Library.


  • Fixed the problem with returning out parameters from Java COM callbacks.
  • Fixed the problem with releasing all unused objects in the OleContainer.destroyObject() method.
  • Fixed a deadlock problem that occurs while adding/removing an OleContainer object to/from a container.
  • Fixed the problem in the Automation.invoke() method: now it correctly reverses the order of parameters for a dispinterface.
  • Fixed the Automation.invokeDispatch() method which did not cast the resulting value to some types, for instance, to ComEnumeration type.
  • Fixed a focus handling problem in the OleContainer class.
  • Fixed an access violation problem in the OleContainer class that appeared in JDK 1.4.2_12 and later.
  • Fixed the IUnknownImpl.release() method related to disposing of a COM object in a stopped OleMessageLoop thread.
  • Fixed implementation of the IUnknown.hashCode() method.
  • Fixed the problem in the SafeArray class: externally allocated SafeArray's are correctly freed now.
  • Fixed the problem in the BStr class: externally allocated BString's are correctly freed now.
  • Updated Javadoc for ComToJava functionality.

Bug fixes in the CodegenForComfyJ:

Important note: In ComfyJ 2.3, there was a problem (incorrect reverse of parameters for wrappers to dispinterfaces) in code generation. So if you created Java wrappers for dispinterfaces using that version, we recommend you to re-generate them anew. Otherwise, they will not work correctly with ComfyJ 2.4. We are sorry for inconvenience.

  • Fixed generation of wrappers for pure dispinterfaces: the order of parameters is not reversed.
  • Fixed a naming issue for property getters/setters whose names may clash with existing methods of COM interfaces.
  • Fixed the problem with generation of wrong method names for Java COM event servers.
  • Fixed the problem when stubs were not generated properly for some types, like Pointer.Void[] /*[in,out]*/ or Int16[] /*[in,out]*/.
  • Fixed the problem when an incorrect wrapper was generated when a method of a COM interface expected a pointer to a primitive type (for example, in/out type* value).
  • Fixed several issues in the plug-in for IDEA.