<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>ComfyJ RSS Feed</title><link>http://www.teamdev.com/comfyj/whats_new.jsf</link><description>Latest breaking ComfyJ news from TeamDev.</description><item><title>ComfyJ 2.4</title><link>http://www.teamdev.com/comfyj/whats_new.jsf?news=2007#ComfyJ_2.4</link><description><![CDATA[<div id="whatsnew">                
    <h3 class="whatsnew" style="margin-top: 0.5em;">Changes since version 2.3:</h3>

    <ul>
        <li class="list">Added the CodegenForComfyJ plug-in for Eclipse.</li>
        <li class="list">Added the <code>DllClassFactory</code> class that allows obtaining an <code>IClassFactory</code> object directly from the type library file (DLL) without registering it in the system.</li>
    </ul>

    <h3 class="whatsnew">Improvements:</h3>
    <ul>
        <li class="list">Improved performance of the Automation function calls (almost by two times).</li>
        <li class="list">Improved the <code>Deciamal</code> class: added the ability to create a Decimal object from a Java double value and convert a Decimal value to a double value respectively.</li>
        <li class="list">Added to ComfyJ Programmer's Guide step-by-step instructions guiding through the creation of Java COM wrappers from a COM Type Library.</li>

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

<p><b>Important note:</b> 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.</p>

    <ul>
        <li class="list">Fixed generation of wrappers for pure dispinterfaces: the order of parameters is not reversed.</li>
        <li class="list">Fixed a naming issue for property getters/setters whose names may clash with existing methods of COM interfaces.</li>
        <li class="list">Fixed the problem with generation of wrong method names for Java COM event servers.</li>
        <li class="list">Fixed the problem when stubs were not generated properly for some types, like Pointer.Void[] /*[in,out]*/ or Int16[] /*[in,out]*/.</li>
        <li class="list">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).</li>
        <li class="list">Fixed several issues in the plug-in for IDEA.</li>
    </ul>
</div>]]></description><guid>http://www.teamdev.com/comfyj/whats_new.jsf?news=2007#ComfyJ_2.4</guid></item><item><title>ComfyJ 2.3</title><link>http://www.teamdev.com/comfyj/whats_new.jsf?news=2006#ComfyJ_2.3</link><description><![CDATA[<div id="whatsnew">                <span class="whatsnew">Changes since version 2.2:</span>
                <ul>
                    <li class="list">Added complete support of 64-bit Windows, which enables Java applications (running in 64-bit mode) to work with 64-bit COM and also to create and register 64-bit Java COM servers.</li>
                    <li class="list">Added new Java and VB examples that demonstrate how to listen to events of a Java COM server in a native (VB) client.</li>
                    <li class="list">Added new <code>GUID.string2GUID</code> method that allows to convert a string presentation of a GUID to the real GUID type.</li>

                </ul>
                <h3 class="whatsnew">Fixes:</h3>
                <ul>
                    <li class="list">Codegen: fixed the problem with wrappers generation in 64-bit mode.</li>
                    <li class="list">Codegen: fixed code generation problem for Adobe InDesign Type Library.</li>
                    <li class="list">Fixed incorrect <code>IllegalStateException</code> in <code>IDispatchServer</code> class when one of a COM callback parameters is NULL pointer to <code>IUnknown</code> interface.</li>

                    <li class="list">Fixed problem in <code>Variant</code> class when working with <code>ComEnumeration</code> parameters.</li>
                    <li class="list">Fixed the problem that caused <code>CO_E_RELEASED</code> COM exception in Java COM servers.</li>
                </ul>
</div>]]></description><guid>http://www.teamdev.com/comfyj/whats_new.jsf?news=2006#ComfyJ_2.3</guid></item><item><title>ComfyJ 2.2</title><link>http://www.teamdev.com/comfyj/whats_new.jsf?news=2006#ComfyJ_2.2</link><description><![CDATA[<div id="whatsnew"><span class="whatsnew">Changes since version 2.1:</span>
                <ul>
                    <li class="list">Added IntelliJ IDEA plugin for ComfyJ Code Generator application.</li>
                    <li class="list">CodeGen: Added processing of optional flag in the parameter specification.</li>
                    <li class="list"><code>IClassFactoryServer</code> now searches for VTBL classes in classloaders for the interface and callback implementation class.</li>

                    <li class="list">A proxy that is created by <code>OleMessageLoop.bindObject(IUnknown)</code> now provides full stack trace.</li>
                    <li class="list">Added ability to handle user input in Yes/No/Cancel dialog in <code>OleContainer.save(java.io.File)</code> method if file already exists.</li>
                    <li class="list">Added <code>AddedAbstractOleControl</code> class, which is the base implementation of OLE control. Also, SimpleSwingActiveX sample added demonstrating the usage of this new class.</li>

                </ul>
                <h3 class="whatsnew">Fixes:</h3>
                <ul>
                    <li class="list">Fixed the problem with reading <code>BStr</code> using Automation.</li>
                    <li class="list">Fixed the problem with incorrect releasing Java COM objects of the same type.</li>
                    <li class="list">Fixed the Java COM Server method returning <code>SafeArray</code> failure after aprox. 100 calls from client.</li>

                    <li class="list">Fixed memory leaks when using PowerPoint in the OleContainer.</li>
                    <li class="list">Fixed <code>IllegalArgumentException</code> when COM-to-Java method returns <code>Variant</code>.</li>
                    <li class="list">Fixed failures reading <code>BStr</code> as return value of <code>IDispatchServer.invoke()</code> method.</li>

                    <li class="list">CodeGen: Fixed wrong method name generation for event servers.</li>
                    <li class="list">CodeGen: Fixed wrong method call generated for the methods accepting <code>SafeArray*</code> as [in] parameters.</li>
                    <li class="list">CodeGen: Fixed the problem with generation of structures by ComfyJ generator.</li>
                    <li class="list">CodeGen: Fixed javadoc generation.</li>
                    <li class="list">CodeGen: Fixed the problem with CodeGen failing with no JDK installed, but only JRE.</li>

                    <li class="list">Samples: Added <code>LicensedActiveX</code> component sample.</li>
                    <li class="list">Samples: Added <code>getSafeArray()</code> method to all COM-to-Java samples.</li>
                    <li class="list">Samples: Fixed Word Sample throwing <code>ComException</code> when trying to open a document second time.</li>

                    <li class="list">Documentation: Updated documentation with more details about stubs generation and <code>OleMessageLoop</code> usage.</li>
                    <li class="list">Documentation: Other minor documentation fixes and updates.</li>
                </ul>
                <h3 class="whatsnew">Known Issues:</h3>
                <ul>
                    <li class="list">In this version of ComfyJ, on 64 bit Windows XP, it is not possible to register Java
                        COM servers using Server Manager application as 64-bit COM Servers. 32-bit mode works well as before.
                        It is also possible to work with 64 bit COM objects in usual way.
                        We are actively working on the issue and will try to fix it as soon as possible.
                    </li>

                </ul></div>]]></description><guid>http://www.teamdev.com/comfyj/whats_new.jsf?news=2006#ComfyJ_2.2</guid></item><item><title>ComfyJ 2.1</title><link>http://www.teamdev.com/comfyj/whats_new.jsf?news=2006#ComfyJ_2.1</link><description><![CDATA[<div id="whatsnew"><span class="whatsnew">Changes since version 2.0:</span>
                <ul>
                    <li class="list">ServerManager: Added the ability to specify some JVM settings individually for each JavaCOM server and for the shared JVM.</li>
                    <li class="list">CodeGen: Added the ability to compile the generated sources.</li>

                    <li class="list">CodeGen: Added the ability to JAR the compiled classes.</li>
                    <li class="list">Documentation: Added information on how to create and register an application JAR file without the need to add all used JAR files into the class path.</li>
                </ul>

                <h3 class="whatsnew">Fixes:</h3>
                <ul>
                    <li class="list">Fixed the <code>"java.lang.IllegalArgumentException: argument type mismatch"</code> exception occurring when a COM callback method has the <code>Date</code> parameter.</li>

                    <li class="list">Fixed the memory leak problem in the <code>BStr</code> class and incorrect value setting in the <code>BStr.setValue()</code> method.</li>
                    <li class="list">Fixed the problem with returning <code>SafeArray</code> parameter from a <code>JavaCOM</code> object (incorrect type of return value).</li>
                    <li class="list">Fixed the problem with host (shared) JVM failing to load <code>JavaCOM</code> classes with different class paths.</li>
                    <li class="list">Fixed the problem with using <code>BStr</code> in <code>SafeArray</code>.</li>

                    <li class="list">Fixed sporadic Access Violations during code generation in the CodeGen application.</li>
                </ul></div>]]></description><guid>http://www.teamdev.com/comfyj/whats_new.jsf?news=2006#ComfyJ_2.1</guid></item><item><title>ComfyJ 2.0</title><link>http://www.teamdev.com/comfyj/whats_new.jsf?news=2005#ComfyJ_2.0</link><description><![CDATA[<div id="whatsnew"><span class="whatsnew">New Features:</span>
                <ul>
                    <li class="list">Added functionality for creating and registering Java COM servers.</li>
                    <li class="list">Added the ServerManager tool for registering and managing Java COM servers.</li>
                    <li class="list">Support for the <code>IClassFactory2</code> COM interface.</li>

                    <li class="list">New documentation for the ComfyJ library.</li>
                    <li class="list">Added the ComfyJDemo application demonstrating ComfyJ's capability to integrate ActiveX controls into Java Swing applications and to interact with them using the Automation technology. </li>
                    <li class="list">Added a new constructor to <code>IUknownImpl</code> that takes a Pointer.Void as a parameter for convenience. </li>
                    <li class="list">New samples for the ComfyJ library.</li>
                </ul>

                <h3 class="whatsnew">Improvements:</h3>
                <ul>
                    <li class="list">Improved the Code Generation application, namely added the ability to generate Java wrappers for a type library as well as for a COM component.</li>
                    <li class="list">Improved stability of the <code>Variant</code> and <code>BStr</code> classes.</li>

                    <li class="list">Resolved several memory management issues in <code>NativeResourceCollector</code>.</li>
                    <li class="list">Registration of a run-time COM server's interfaces is not required any more. Now <code>IClassFactory</code> automatically registers all interfaces implemented by the server class.</li>
                </ul>

                <h3 class="whatsnew">Fixed Bugs:</h3>

                <ul>
                    <li class="list">Fixed the problem with setting a <code>BStr</code> value in multi-dimensional <code>SafeArray</code>s.</li>
                    <li class="list">Fixed the problem with reassigning a value in the <code>BStr</code> object.</li>
                    <li class="list">Fixed the problem with showing modal OCX windows in <code>OleContainer</code>.</li>

                    <li class="list">Fixed the problem with focus events in <code>OleContainer</code>.</li>
                    <li class="list">Fixed the problem with processing keyboard events in <code>OleContainer</code>.</li>
                    <li class="list">Fixed the Access violation problems in <code>NativeResourceCollector</code>.</li>
                    <li class="list">Fixed the problem in <code>SafeArray.release()</code> method. It did not work when its AutoDelete property was set to false.</li>

                    <li class="list">The <code>Automation.release()</code> method is deprecated since it is not necessary and confusing. </li>
                    <li class="list">Removed the stack trace printing in the <code>OleContainer.insertObject(IOleObject object)</code> method if an object does not support the <code>IPersistStorage</code> interface. </li>
                    <li class="list">Fixed the problem with reading a <code>UInt</code> value from <code>Variant</code>.</li>

                    <li class="list">Fixed the problem with reading <code>SafeArray</code> (byRef) from <code>Variant</code> using the <code>Varinat.getValue()</code> method.</li>
                    <li class="list">Fixed the memory leak problem when <code>Variant</code> contains a <code>BStr</code>.</li>

                    <li class="list">Fixed the problem with releasing memory in the<code>BStr</code> class.</li>
                    <li class="list">Fixed the problem with calling a dispatch method in <code>IDispatchServer</code>, whose DispID is 0.</li>
                    <li class="list">Codegen: Added exception messages with clear error descriptions. </li>
                    <li class="list">Codegen: Added a new option for handling non-labelled parameters in the Code Generation application.</li>

                    <li class="list">Codegen: Fixed "FunctionExecutionException: c0000005" that occurs during Java wrappers generation .</li>
                    <li class="list">Codegen: Fixed "Access violation: attempting to read memory at address 0000000A" that occurs during Java wrappers generation.</li>
                    <li class="list">Codegen: Fixed the problem with generating CoClasses that have no default interface.</li>
                    <li class="list">Codegen: Fixed various minor bugs.</li>
                </ul></div>]]></description><guid>http://www.teamdev.com/comfyj/whats_new.jsf?news=2005#ComfyJ_2.0</guid></item></channel></rss>
