merged R-1_9 release tag against the root-B-1_9
This commit is contained in:
344
docs/WhatsNew.html
Normal file
344
docs/WhatsNew.html
Normal file
@@ -0,0 +1,344 @@
|
||||
<h1>What's New in JACOB 1.9</H1>
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<b>Event Callbacks</b>
|
||||
<ul>
|
||||
|
||||
<li>Variant parameters can now be modified by the receiver to be passed
|
||||
back to the COM caller </li>
|
||||
<li>Callbacks can now be received when running in JWS other launchers where
|
||||
JACOB.jar is not in the system classloader's path.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<b>Dispatch API Clarifications</B>
|
||||
<ul>
|
||||
|
||||
<li>All static method's first parameters have been more strongly typed
|
||||
to the Dispatch class, rather than Object. This may call for code
|
||||
changes in the cases of code that just asigned Dispatch objects
|
||||
to variables of type Object rather than Dispatch or one of its subclasses </li>
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Dispatch subclasses are now supported with pointer modifying constructor</b>
|
||||
<ul>
|
||||
|
||||
<li>Dispatch and ActiveXComponent now includes a constructor to be used by Dispatch subclasses
|
||||
that swaps the pointers around. This eliminates the need for every Dispatch subclass
|
||||
to have a constructor that swapped and nulled out the pointers to the COM layer.
|
||||
All samples have updated to use the new api </li>
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>ActiveXComponent has been upgraded</b><ul>
|
||||
|
||||
<li>ActiveXComponent methods return ActiveXComponets </li>
|
||||
<li>Methods have been added to the ActiveXComponents to retrieve
|
||||
parameters as Dispatch objects or ActiveX components. The
|
||||
Script Tests have been updated to show the same programs in Dispatch
|
||||
format or ActiveXComponentFormat </li>
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Memory Management</b>
|
||||
<ul>
|
||||
|
||||
<li>Beta test option that lets an application use automatic object object
|
||||
removal through the use of weak reference hash maps in the ROT class. The
|
||||
default behavior of manual release via the COMThread class has been retained as
|
||||
the default behavior. Developers can test automatic memory collection by
|
||||
using the command line option <i>-Dcom.JACOB.autogc=true</i> </li>
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>JNI Changes</b>
|
||||
<ul>
|
||||
|
||||
<li>Erroneous Array dimension checking fixed for certain boolean set and get functions
|
||||
</li>
|
||||
<li>Alternative method for finding Variant class for callbacks in JWS
|
||||
or other application lanchers where the system classloader does not
|
||||
know about JACOB classes. </li>
|
||||
<li>Unicode is supported for putString and putStringRef</li>
|
||||
<li>EventProxy zeros out the com object reference in the Variant objects
|
||||
that are created by EventProxy so that they are not double released,
|
||||
by both the Java VM and calling code from the COM side. The caller
|
||||
is supposed to be responsible for releasing the memory it created.
|
||||
This fix only applies to Variants created in callbacks. </li>
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Logging Additions</b><ul>
|
||||
|
||||
<li>Debugging logging to standard out for JACOB can be turned on by using the
|
||||
command line option <i>-Dcom.JACOB.debug=true</i></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Visual Studio</b><ul>
|
||||
|
||||
<li>The VisualStudio directory in the CVS repository will be removed in the next
|
||||
release</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Documentation</b><ul>
|
||||
|
||||
<li>API documentation via Javadoc is now being generated for all classes.</li>
|
||||
|
||||
<li>The development team is looking for help in upgrading the quality of the
|
||||
class documentation</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Build Changes</b>
|
||||
<ul>
|
||||
|
||||
<li>A static method has been added to JacobObject that returns the build version</li>
|
||||
|
||||
<li>The project is now being built using ANT. Most of the developers are
|
||||
running this from inside of Eclipse</li>
|
||||
<li>All makefiles have been purged</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Tracked Changes</h2>
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
|
||||
<tr>
|
||||
<td width="100%" colspan="2"><b>Bugs</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1116101</td>
|
||||
<td width="87%">jacob-msg 0284 : Access Violation while garbage collecting</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1114159</td>
|
||||
<td width="87%">Problem with COM Error Trapping in JACOB DLL</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1113610</td>
|
||||
<td width="87%">Bad error check in SafeArray.cpp</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1066698</td>
|
||||
<td width="87%">Minor Memory leak in Dispatch.cpp</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1065533</td>
|
||||
<td width="87%">Problem with unicode conversion</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1053871</td>
|
||||
<td width="87%">solution for memory leak in 1.7</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1053870</td>
|
||||
<td width="87%">JACOB0msg 2019 - Safe Array</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1053866</td>
|
||||
<td width="87%">getHResult only returns 80020009</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">960646</td>
|
||||
<td width="87%">But in SafeArray:: getBoolean for 2D arrays</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%"> </td>
|
||||
<td width="87%"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100%" colspan="2"><b>Patches</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1115187</td>
|
||||
<td width="87%">EventCallbacks fail w/Variant ClassNotFoundException in JWS</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1105915</td>
|
||||
<td width="87%">Fix for event handling memory corruption</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1090104</td>
|
||||
<td width="87%">Weak Reference in teh ROT</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1068544</td>
|
||||
<td width="87%">in/out parameter support for event handlers</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">981540</td>
|
||||
<td width="87%">jre 1.4.2 fix as patch</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%"> </td>
|
||||
<td width="87%"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100%" colspan="2"><b>Feature Requests</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1049390</td>
|
||||
<td width="87%">static Version information</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1049224</td>
|
||||
<td width="87%">Javadocs or at least script to generate it</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%">1049158</td>
|
||||
<td width="87%">API to get ProgId of ActiveXComponent</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="13%"> </td>
|
||||
<td width="87%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h1>What's New in JACOB 1.8</H1>
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<b>Move To SourceForge</b>
|
||||
The project is not housed at
|
||||
<a href="http://sourceforge.net/projects/jacob-project/">Sourceforge.net</a>.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Licensing Change</b>
|
||||
All limitations on commercial use of JACOB have been removed and it
|
||||
is now being developed under a BSD license at
|
||||
<a href="http://sourceforge.net/projects/jacob-project/">Sourceforge.net</a>.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Compiled with Java 1.4.2</b>
|
||||
Version 1.8 was compiled with JSEE 1.4.2 and fixes the compilation bug
|
||||
that was remnant of compilation with JDK 1.1.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Baseline For Change</b>
|
||||
This version is the baseline for the first CVS checkin and we encourage
|
||||
people to start contributing to the project with this version.
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<li>
|
||||
<h1>What's New in JACOB 1.7</H1>
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<b>Explicit COM Threading Model Support:</b>
|
||||
See a detailed discussion of
|
||||
<a href="JacobThreading.html">COM Apartments in JACOB</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>New COM Object Lifetime model:</b>
|
||||
See a detailed discussion of
|
||||
<a href="JacobComLifetime.html">COM Object Lifetime in JACOB</a>.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Improved Event Handling:</b>
|
||||
Thanks to code contributed by
|
||||
<a href="mailto:n.o.bouvin@daimi.au.dk">
|
||||
Niels Olof Bouvin</a>
|
||||
and <a href="mailto:jehoej@daimi.au.dk">Henning Jae</a> JACOB 1.7 can
|
||||
read the type information of a Connection Point interface by looking
|
||||
it up in the registry. This makes it possible to use events with IE as
|
||||
well as office products.
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<b>Improved Dispatch:</b>
|
||||
Error messages from Invoke failures are now printed out as well as
|
||||
allowing the passing in of arguments to a Get method.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>EnumVariant Implementation:</b>
|
||||
Makes it easier to iterate over COM collections. Thanks to code
|
||||
contributed by
|
||||
<a href="mailto:Thomas.Hallgren@eoncompany.com">Thomas Hallgren</a>.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>SafeArray leaks:</b>
|
||||
SafeArrays were not being properly freed prior to version 1.7, many
|
||||
other memory leaks were fixed as well.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<b>Visual Studio Project:</b>
|
||||
For those who want to debug: vstudio/JACOB. At the moment all the
|
||||
native code is replicated there from the jni directory...
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<H1>Related Links</H1>
|
||||
<ul>
|
||||
<li>
|
||||
The JACOB mailing list is hosted at yahoo groups:
|
||||
<a href="http://groups.yahoo.com/group/jacob-project">
|
||||
http://groups.yahoo.com/group/JACOB-project</a>.
|
||||
<b>This is the preferred way to get support for JACOB</b>. It also
|
||||
includes an extensive archive. If you are doing any development with
|
||||
JACOB, please join the list.
|
||||
<li>
|
||||
Massimiliano Bigatti has developed
|
||||
<a href="http://www.bigatti.it/projects/jacobgen/">
|
||||
JACOBgen - a generator that automatically creates JACOB code from
|
||||
Type Libraries</a>
|
||||
</li>
|
||||
<li>
|
||||
Steven Lewis is developing a version of Java2Com that supports JACOB
|
||||
code generation. See:
|
||||
<a href="http://www.lordjoe.com/Java2Com/index.html">
|
||||
http://www.lordjoe.com/Java2Com/index.html</a>.
|
||||
<li>
|
||||
To find documentation on the com.ms.com package, go to:
|
||||
<a href="http://www.microsoft.com/java/download/dl_sdk40.htm">
|
||||
http://www.microsoft.com/java/download/dl_sdk40.htm</a>
|
||||
and at the bottom of the page is a link that says:
|
||||
Microsoft SDK for Java 4.0 Documentation Only. You should download
|
||||
that file and install it. Then, view sdkdocs.chm and look for
|
||||
"Microsoft Packages Reference". Hopefully, the next release of
|
||||
JACOB will include full javadoc (volunteers?)...</li>
|
||||
Reference in New Issue
Block a user