J-Integra® for COM Release Notes

What's new in J-Integra® for COM v2.13 and 64.03? (Officially Released January 2021)

  1. Implemented workaround for DCOM error when the "zero client installation" configuration is used on Windows 10 1809+.
  2. Tools and native code libraries now use the latest version of the Visual C++ redistributable (Visual C++ 2015-2019).

What's new in J-Integra® for COM v2.12 (Released August 2013) and 64.02 (Released September 2014)?

  1. Resolved a connection time-out issue when using a Zero-Client deployment on Windows 7.
  2. Resolved a rare issue in the regtlb utility that could adversly affect the registry.
  3. Imposed a limit of 72hrs of continous use for Developer licenses.

What's new in J-Integra® for COM v2.11 (Released May 2010) and 64.01 (Released November 2013)?

  1. J-Integra® for COM supports Windows 7 and Exchange Server 2010. For a complete list of supported platforms and JDKs, please see this KB article.
  2. Updated AuthInfo's getCallerDomain() and getCallerUser() methods for use on Windows 7.
  3. Resolved a bug coercing unsigned long data types.

What's new in J-Integra® for COM v2.10 (Released June 2009) and 64.00 (Released December 2012)?

  1. J-Integra® for COM supports Windows Server 2008. For a complete list of supported platforms and JDKs, please see this KB article.
  2. Resolved an EOFException on Windows Server 2003 SP2 and Vista SP1 when the DCOM Authentication Level is set to None.
  3. Enhanced the java2com tool so that (given the same Java source and configuration file) the generated proxies should be identical.
  4. Added a new runtime property (JINTEGRA_DCOM_PING_TIMEOUT) that can be used to prevent Java event listeners from timing out (in DCOM Mode) on COM objects hosted in Windows Vista. For more information, please refer to the Runtime Properties section of our documentation.
  5. J-Integra® for Exchange: The Contact class has been updated to resolve an Address Book issue. Here is the updated Contact source.

What's new in J-Integra® for COM v2.9? (Released September 18, 2008)

  1. J-Integra® for COM now fully supports Windows XP SP3. For a complete list of supported platforms and JDKs, please see this KB article.
  2. ID 6127: Fixed bug causing a java.io.EOFException to be thrown on DCOM connections to Windows Server 2003 SP2.

What's new in J-Integra® for COM v2.8? (Released January 14, 2008)

  1. ID 5997: Fixed bug preventing pvarResult from being set to NULL when vtRet==VT_EMPTY.
  2. ID 6005: Fixed bug causing VB-to-Java applications to hang in Windows Vista when run from a VB editor/IDE.
  3. ID 5998: Fixed memory leak in ntvinv when VT_USERDEFINED is used.
  4. ID 6006: Fixed memory leak in ntvinv when SAFEARRAY is used.
  5. ID 6010: Fixed memory leak in ntvinv when BOOLEAN is used.
  6. ID 6011: Fixed memory leak in ntvinv when VT_DISPATCH is used.

What's new in J-Integra® for COM v2.7? (Released April 4, 2007)

  1. J-Integra® for COM fully supports the following platforms and JDKs. For a complete list of supported platforms and JDKs, please see this KB article.
  2. Updated Windows Installer to be compatible with Windows Vista.
  3. Packaged precompiled Java proxies for Excel 2007. Additional precompiled Office 2007 JAR files can be downloaded here.
  4. ID 5002: Added zz_get(String,byte[]) method to com.linar.jintegra.Ocx.
  5. ID 5003: Fixed bug in setSize() method for hosted ActiveX controls.
  6. ID 5675: Fixed bug in setdllhost that prevented registry keys from being written in some cases.

What's new in J-Integra® for COM v2.6? (Released August 16, 2006)

  1. J-Integra® for COM fully supports the following platforms. For a complete list of supported platforms and JDKs, please see this KB article.
  2. ID 4016: Fixed bug where [in,out] struct parameters were not getting marshalled correctly from Java to COM in native mode. Please note that embedded structs (ie, a struct containing a struct) and structs containing non-basic types (ie, VARIANTs) are still not supported when being passed as [in,out] struct parameters.
  3. ID 4340: Fixed bug where ActiveX control objects were not being garbage collected properly after being removed from a Java frame.
  4. ID 4812: Fixed bug where the (J-Integra® for Exchange) CDOConfig tool was always throwing a "User can't be validated" error on Windows 2000 and Windows 2000 Server even when the user was valid.
  5. ID 4813: Enhanced the DCOMConfig tool so it now accepts a command line parameter. If you run DCOMConfig.exe in a command prompt and pass it the program ID of a COM application, it will automatically configure the DCOM settings for that COM application (without displaying the GUI). This enhancement was done to enable DCOMCOnfig to be used in deployment scripts where unattended installations are required.
  6. ID 4906: Fixed a memory leak for projects where COM client apps are accessing Java objects in native mode. The undocumented JINTEGRA_DONT_DETACH_JNI_THREADS property was created to resolve these memory leak issues, and is now the default behaviour for these types of applications. Specifying this property at runtime is no longer required.
  7. ID 4995: The formatting of the com2javacmd help text has been updated, and all the options are now displayed in the same order as they are presented by the com2java (GUI) tool.
  8. ID 4996: The following updates have been made to the com2java tool:

What's new in J-Integra® for COM v2.5? (Released November 8, 2005)

  1. ID 3630: Fixed "AutomationException: 0x80020005 - Type mismatch" error when using optional (null) parameters. If you are upgrading to v2.5, and you are accessing COM components from Java clients, you will need to generate new proxies using the com2java tool that comes with the v2.5 SDK. Pregenerated proxy jar files for popular COM applications such as Excel and Word can be downloaded from the KB.
  2. ID 3843: Fixed "Stub received bad data" error resulting from Windows XP VB clients accessing Java objects on non-XP environments (Win2000, Linux, etc). This error was introduced by changes Microsoft made to DCOM as part of the Windows Updates from Oct 12th.
  3. ID 3856: Regjvm (and regjvmcmd) no longer throw an error if DCOM is not enabled on the host computer. This check was removed since having DCOM enabled is not necessary if you plan to run J-Integra® in native mode.

What's new in J-Integra® for COM v2.4? (Released August 16, 2005)

  1. ID 3098: Fixed "No Object for Moniker" error on Windows Server 2003 SP1 which was caused by changes Microsoft made to DCOM in SP1.
  2. ID 3109: Evaluation licenses now shut down after 2 hours of continuous use.
  3. ID 3200: Fixed RPC error on Windows Server 2003 when passing large strings from Java to COM.
  4. ID 3269: Fixed bug in ntvinv where [in] SomeType* parameters sometimes caused ntvinv to crash when accessing out-of-process EXEs from Java (in-process DLLs worked fine).
  5. ID 3279: Fixed bug in ntvinv where [out] parameters were not being populated correctly for dispatch invokes.
  6. ID 3295: Com2java now generates proxies such that optional null parameters are passed correctly.
  7. ID 3444: J-Integra®'s Variant class now handles the signed VT_I1 type (which allows java.lang.Byte types to be passed correctly).
  8. ID 3445: Fixed bug where BSTR* types were not being passed correctly from COM to Java in native mode.
  9. ID 3473: The com2javacmd tool now includes the com2java version number in generated proxies.

What's new in J-Integra® for COM v2.3? (Released February 4, 2005)

  1. ID 1829: Updated com2java to save the package name and options for each individual type library.
  2. ID 2267: Com2java now generates an invokeMethodByNameWithoutParam() method so that you can directly invoke COM methods that take 0 parameters.
  3. ID 2268: The java2com GUI now appears in the middle of the screen when launched.
  4. ID 2280: The J-Integra® licensing mechanism now allows yout to use newer licenses within older versions of the runtime (e.g. v2.3 license file will work in v2.2 jintegra.jar runtime).
  5. ID 2369: The com2java tool has been updated with an enhanced GUI.
  6. ID 2429: The java2com Names dialog has been updated with an enhanced GUI.
  7. ID 2443: You can now save your com2java settings in an XML file, and these XML files can also be used as input parameters to the com2java command line version (com2javacmd).
  8. ID 2463: If server A returns a reference to a COM object on server B, the COM major/minor version associated for that object is now that of the first server (server A). This was previously defaulting to v5.4 no matter what COM version was being used on either server.
  9. ID 2464: Fixed a memory leak when using connection points (i.e. VB client acting as a Listener for Java events using the 'WithEvents' keyword). The memory leak was occurring in both DCOM mode and native mode.
  10. ID 2498: J-Integra® for COM supports passing a VT_BYREF|VT_BSTR from Java to COM in DCOM mode on Windows XP SP2 and Windows Server 2003.
  11. ID 2508: The regjvm tool no longer crashes when a new JVM is created on a machine which does not have a JRE installed.

What's new in J-Integra® for COM v2.2? (Released September 13, 2004)

  1. J-Integra® for COM (formerly J-Integra®) is now part of the J-Integra® Interoperability Suite offered by Intrinsyc Software International, Inc.
  2. J-Integra® for COM is now fully supported on Windows XP SP2. See J-Integra® for COM and Windows XP/2003 in the KB for complete details.
  3. New installer for Windows platforms makes installation fast and easy!
  4. ID 2023: You can now use the full path to unregister a TLB file with regtlb (e.g. regtlb c:\pure\dcomawt\dcomawt.tlb).
  5. ID 2129: Fixed com2java to generate the correct VT type for VT_USERDEFINED|VT_BYREF parameters.
  6. ID 2151: Fixed com2java to once again support deserialization for generated Java proxies (bug introduced in v1.6).
  7. ID 2169: Updated com2java to generate valid javadoc in the generated Java proxies.
  8. ID 2186: Retrieving a reference to an active COM object no longer throws java.lang.UnsatisfiedLinkError.
  9. ID 2209: Native mode no longer fails with java.lang.NoSuchMethodError when an event callback involving a struct parameter passes from COM to Java.
  10. ID 2226: Updated regjvm GUI to display classpath entries of more than 1004 characters. In addition, the regjvm GUI now wraps the classpath value if it is longer than the width of the classpath textbox.
  11. ID 2227: Updated the regtlb /unregister option so that it removes all entries added to the registry when a TLB was originally registered.
  12. ID 2235: J-Integra® for COM supports passing a VT_ARRAY|BSTR from Java to COM in DCOM mode on Windows XP SP2.
  13. ID 2236: J-Integra® for COM supports passing a VT_CY|VT_BYREF or VT_VARIANT|VT_BYREF in DCOM mode on Windows XP SP2.
  14. ID 2238: Updated java2com with an enhanced GUI interface.

What's new in J-Integra® v2.1? (Released May 18, 2004)

  1. ID 1753a: J-Integra® is now fully supported on both Windows XP and Windows Server 2003. Please see J-Integra® and Windows XP/2003 in the KB for complete details.
  2. ID 1753b: Fixed a bug where installing Microsoft Security Update KB835732 caused J-Integra® to stop working. Please see Problems with MS04-011 (KB835732) Security Patch from Microsoft in the KB for more details.
  3. ID 1753c: J-Integra® has been successfully tested with J2SE v1.5.0 Beta 1.
  4. ID 1828: Fixed a bug so that users can now catch the java.lang.UnsatisfiedLinkError when ntvinv.dll fails to load.
  5. ID 2087: Fixed a bug which was causing a SAFEARRAY(struct) to be passed incorrectly because the struct size information was not being obtained correctly.
  6. ID 2093: The BeanInfo generated for ActiveX components previously exposed all the event methods for source interfaces. This has been changed to behave more like VB where only the default interface is exposed for source interfaces.
  7. ID 2108: The JINTEGRA_RETURN_BYREFARGS property is no longer needed when running J-Integra® on Windows XP.
  8. ID 2109: The Java 2 checkbox has been removed from the regjvm tool, as JDK v1.1.x is no longer supported.
  9. ID 2110: Fixed a bug where J-Integra® was incorrectly handling parameters of the type [in, out]IDispatch** and [in, out]IUnknown** when using Dispatch invocation.
  10. ID 2111: You can now specify the pathext option when using regjvmcmd if you want to append values to the system PATH at runtime.

What's new in J-Integra® v2.0? (Released February 1, 2004)

  1. ID 738a: Fixed a bug where debugging VB client code resulted in the IDE crashing (when running J-Integra® in native in-proc mode).
  2. ID 738b: Fixed a bug where PowerBuilder 9 clients calling Java methods with primitive and/or object parameters resulted in a "memory could not be read" error.
  3. ID 1751: Added new option Generate BeanInfo to com2java. This option allows you to generate BeanInfo classes for COM components marked as controls in the registry. This enables you to use COM controls as Java Beans in Java IDEs such as JBuilder and Sun One Studio.
  4. ID 1785: J-Integra® now handles parameters of type [in,out] SAFEARRAY** in native mode.
  5. ID 1798: Fixed a bug where some COM applications would throw an error when passing parameters of type VT_INT.
  6. ID 1805: Fixed a bug where com2java (when processing a DISPINTERFACE) assumed that any method parameter that was an interface derived from IDispatch. Com2java now checks if the parameter derives from IUnknown or IDispatch and generates the appropriate code.
  7. ID 1807: Fixed a bug where Setdllhost was failing when processing a DLL located on a mapped drive.
  8. ID 1808: J-Integra® now handles parameters of type [in] SAFEARRAY(Typename)*.
  9. ID 1810: J-Integra® now supports the passing of COM structs across the wire in native mode. Up until now, COM structs were only supported in DCOM mode.
  10. ID 1811: Fixed a bug where J-Integra® was throwing an an ArrayIndexOutOfBoundsException when handling an event with no parameters.
  11. ID 1812: Fixed a bug where J-Integra® was causing an error on the COM side when passing an empty string to a COM object in native mode.
  12. ID 1813: J-Integra® now handles parameters of type [in] VARIANT*.
  13. ID 1814: Fixed a bug where J-Integra® was hanging if the instanciation of an ActiveX control failed. This will now cause an exception (instead of hanging).
  14. ID 1820: For optional parameters, com2java generates comments in the Java proxies which tell the user to use null if the parameter is not required. This was updated so that if the optional parameter is a primitive type, the comment will now say optional, pass [default value] if not required.
  15. ID 1821: Fixed a bug where the proxies generated by java2com in the early binding example do not compile when using JDK v1.4.2.
  16. ID 1826: J-Integra® no longer supports JDK v1.1.x. If you need JDK v1.1.x compatibility, please email J-Integra® Support to request an older version of J-Integra®.
  17. ID 1827: When the Generate Java AWT classes option is selected, com2java now checks the registry to see if a COM coclass is a visual component before deriving its associated Java class from java.awt.Component. This was done because some ActiveX controls contain coclasses which are not visual components, and making them Java components means you have to add them to a Java frame before calling any of their methods. Obviously this does not make sense since non-visual classes should not have to be added to a frame before calling their methods.
  18. ID 1830: Fixed a bug where the package name and output directory were not always being picked up properly by com2java. For example, sometimes the Java proxies were placed in the wrong directory, or the Java package name was generated incorrectly.
  19. ID 1939: Fixed a bug where loading the J-Integra® runtime sometimes caused NullPointerExceptions on multi-processor machines.
  20. ID 1990: Com2java now indicates the default value given in the COM type library when generating comments for method parameters.
  21. ID 2042: Fixed a bug where [out, retval] parameters were being generated by com2java as method parameters for event interfaces. These arguments were not being supplied by J-Integra®'s native code, which resulted in IllegalArgumentExceptions.

What's new in J-Integra® v1.6.0? (Released August 15, 2003)

  1. ID 1799: Fixed a bug where J-Integra® failed when viewing ActiveX controls with JDK v1.4.x. This bug was introduced in v1.6.0 Beta.
  2. ID 1800: Added the JINTEGRA_MAIN_THREADGROUP property. This property resolves a specific threading problem when using J-Integra® with Applets.

What's new in J-Integra® v1.6.0 Beta? (Released July 17, 2003)

  1. ID 1264: Added a second com.linar.jintegra.NTLMAuthenticate.validate() method so that the NetBIOS name can be provided when authenticating a user.
  2. ID 1328: Fixed a bug where J-Integra® was incorrectly reading complex structs returned from COM methods. The problem arose when the returned struct contained embedded SAFEARRAYs.
  3. ID 1343: Added /list and /unregister options to the setdllhost tool.
  4. ID 1629: Added new option Rename conflicting interface methods to com2java. This option tells com2java to re-name interface methods in scenarios where a COM class implements two (or more) interfaces where each interface has identical methods which differ only by return value (something which is allowed in COM but not in Java). The methods are renamed by prepending the interface name. This option can help reduce the number of compilation errors for some COM type libraries.
  5. ID 1640: Fixed a bug in com2java where it would crash if dependant type libraries, such as the TLB that defines an interface's base interface, were unregistered. Com2java now registers each TLB that it has to process (or makes the base interface null if it cannot register it).
  6. ID 1646: Fixed a bug where the the saved UUIDs given in the XML settings file weren't being used by the java2com tool in command line mode. The saved UUIDs are now re-used in both command line and GUI modes.
  7. ID 1669: An enhancement was made to improve performance when an Applet accesses a dispinterface (i.e. a COM object which is IDispatch only).
  8. ID 1670: Fixed a bug where J-Integra® was performing the "DCOM pinging" to a COM object more frequently than every two minutes, as per the DCOM specification.
  9. ID 1715: Fixed a bug where the default value of the JINTEGRA_OUTGOING_CONNECTION_TIMEOUT property was being set to 30 mins instead of an infinite timeout (as stated in the documentation). This was resulting in a lost connection for some applications that has long idle times between J-Integra® calls.
  10. ID 1723: Fixed a bug where some negative ADO values were getting passed back to Java as positive values.
  11. ID 1738: Updated the com2java tool so it will not rename methods in interfaces if the methods are identical (both in terms of parameter types and return types), but will only rename them if the parameter types are the same, but not the return types. This enhancement helps reduce the number of compilation errors for some COM type libraries.
  12. ID 1795: Added the JINTEGRA_NOCLIPBOARD property, which allows you to run the com.linar.jintegra.GetJvmMoniker class on a system which doesn't support GUI (for example, a UNIX system on which XWindows is not configured). Previously, running GetJvmMoniker on a non-GUI system would result in a crash.

What's new in J-Integra® v1.5.5? (Released February 21, 2003)

  1. ID 1169: All DLL/EXE files in the jintegra\bin directory (except ocxhost) will look for their associated ResourceDLL file starting in the directory from which it was loaded. Therefore, you can place the ResourceDLL files in the same directory as the DLL/EXE files if you do not wish to keep them in the international subdirectory. This is useful if you wish to package all the DLL/EXE files in one directory to be used with an application such as Java Web Start. Note: You will still need to have the directory containing the DLL/EXE files in your system PATH before the application runs.
  2. ID 1173: Com2java now handles the new assert keyword introduced in JDK v1.4.
  3. ID 1185: Fixed a mutli-thread synch bug when COM accesses a Java singleton.
  4. ID 1189: Added /unregisterall option to regjvmcmd.
  5. ID 1209: Setdllhost no longer checks for the string ".dll" in the surrogate description parameter. It now prints out the number of dlls that are being registered (and the description string) as feedback.
  6. ID 1213: Fixed the regjvm and regjvmcmd tools so that properties should now be specified exactly as they would be on the command line. For example, the "-D" should be included for J-Integra® properties: regjvmcmd /native /inproc /java2 myjvm -DJINTEGRA_LOG_LEVEL=3
  7. ID 1229: The javadoc for the com.linar.jintegra.AuthInfo class has been added to the J-Integra® javadoc.
  8. ID 1253: com.linar.jintegra.Dispatch.bindUsingMoniker() now works in native mode.
  9. ID 1256: Setdllhost now works for DLLs which do not contain their full path in the registry. It also now works for DLLs which have no entry points in the registry (i.e. DLLRegisterServer fails when run on the DLL).
  10. ID 1279: An exception is no longer raised when java.awt.Container.add() is called more than once for the same ActiveX control.
  11. ID 1280: Ccom2java no longer generates DISPID_XXX members in Java interfaces that correspond to COM interfaces that don't derive from IDispatch.
  12. ID 1281: If a COM class implements interfaces A and B, and both interfaces define a method with the same name (but different parameter types), com2java no longer tags the methods as "conflicting".
  13. ID 1282: Added new option Re-use methods if interfaces contain duplicates to com2java. This option tells com2java to re-use interface methods in scenarios where a COM class implements two (or more) interfaces where each interface has identical methods. The generated Java class implements just one of the identical methods and calls just one Java proxy. This option can help reduce the number of compilation errors for some COM type libraries.
  14. ID 1284: Added the JINTEGRA_RELEASEALL_SHUTDOWN_HOOK property which causes the runtime to call com.linar.jintegra.Cleaner.releaseAll() when the JVM shuts down normally (e.g. when CTRL-C is pressed).
  15. ID 1286: Fixed a bug where java2com generated bad IDL files when running on Java classes with multiple identical field declarations. For example, in JDK v1.4 the java.awt.Button class contains a color.white field and a color.WHITE field. Since the MIDL compiler is case sensitive, this caused problems. Java2com will now only generate one field in the IDL file for field declarations which are identical except for case.
  16. ID 1296: Fixed bug where java2com generated incorrect IDL code for Java string constants that are inherited. It now appends the shortName (which includes the package and class name) to the string constant name being generated.
  17. ID 1298: Regtlb no longer produces "Failed Loading Resources" error on Windows 9X/ME platforms.
  18. ID 1308: Fixed a bug where embedded ActiveX controls became orphaned. Before this fix, the following would happen: say you had two JInternalFrames (FrameA and FrameB) inside one JFrame, and FrameB contained an embedded ActiveX control. If you transfered the focus from FrameA to FrameB, and then moved FrameB around the screen with your mouse, the ActiveX control did not move with FrameB (it becomes orphaned).
  19. ID 1310: Added the JINTEGRA_RETURN_BYREFARGS property which should be used when running J-Integra® on Windows XP. Without this property Java exceptions will not get passed back to VB clients properly in DCOM mode using late binding. See KB article 48776 for more details.

What's new in J-Integra® v1.5.4? (Released November 1, 2002)

  1. ID 828: Fixed a bug where the JINTEGRA_OUTGOING_CONNECTION_TIMEOUT value was being overwritten by the JINTEGRA_INCOMING_CONNECTION_TIMEOUT value, which often was 0 (no timeout). This meant that setting the JINTEGRA_OUTGOING_CONNECTION_TIMEOUT had no effect.
  2. ID 836: Fixed a bug where the com.linar.jintegra.GetJvmMoniker command added a comma to the DCOM_PORT number (e.g. -DJINTEGRA_DCOM_PORT=1,350). It now strips out the commas (-DJINTEGRA_DCOM_PORT=1350).
  3. ID 837: The regjvm GUI was fixed so that the Help, About, and Close buttons no longer get "chopped off" when certain modes are selected.
  4. ID 887: Updated the Java-ADSI Example, as it was not compiling due to some errors in the code.
  5. ID 908: Com2java now correctly handles the situation when it encounters a COM event with a return value. Technically, COM events should never have return values, which is why com2java was not previously designed to handle this situation.
  6. ID 915: J-Integra® now supports passing two-dimensional arrays of any oleautomation type to Java.
  7. ID 950: Fixed a bug where the ResourceDll for ntvinv.dll was not loading correctly on machines with different regional settings other than English (e.g. Japanese).
  8. ID 955: Fixed a bug where waiting threads were not being notified when a connection was timing out after JINTEGRA_OUTGOING_CONNECTION_TIMEOUT milliseconds. This was causing control of the application to get stuck inside the J-Integra® runtime. Now the Exception can be caught by the Java client, and handled accordingly.
  9. ID 956: In the Pass by Value section of the documentation, there is now a link to a Knowledge Base article containing a C++ "Pass by Value" example.
  10. ID 969: The JEB API no longer uses ocxhost to access the CDO library (cdo.dll). The documentation and examples for Java-Exchange have been updated to reflect these changes.
    Fixed a bug in the JEB API which caused the getParent() method for folders to not work properly.
  11. ID 984: The documentation for JCA-COM, Java-Exchange, and Java-Excel has been merged into the main J-Integra® documentaion.
  12. ID 1020: All examples which previously used the ocxhost tool have been updated to use setdllhost instead. The ocxhost tool is no longer needed except when accessing Microsoft Active Data Objects (ADO).
  13. ID 1103: Setdllhost now gives a failure message if it does not work.
  14. ID 1123: Added two new options to the regprogid tool (/list and /listall).
  15. ID 1132: Added a JINTEGRA_LOG_ROLLOVER_LINECOUNT property. When the number of lines logged to a log file reaches this limit then the runtime closes the existing log file and opens a new one. When the log file is closed, it is timestamped by adding "yyMMddHmmssSSSS" in the file name, where yy=year, MM=month, H=hour, mm=minutes, ss=seconds, and SSSS=milliseconds. The log header is always printed at the top of the log files, and the last line in the log file indicates the name of the new log file.
  16. ID 1133: Fixed bug where the java2com tool was failing in command line mode on UNIX machines with no XWindows.
  17. ID 1137: Fixed the regjvmcmd tool, as it was not handling all the options for native inproc mode correctly.
  18. ID 1141: Fixed the com2java tool so that it no longer fails when trying to overwrite old proxy files which are read-only.
  19. JCA-COM is no longer a separate product. It is now offered as a plugin for J-Integra® for those wishing to overcome EJB restrictions when using J-Integra® in EJB-COM applications.
  20. The JCA-COM examples now show how to enable transaction support in your EJBs by implementing the XAResource and LocalTransaction interfaces.

What's new in J-Integra® v1.5.3? (Released June 21, 2002)

  1. Fixed memory leak when a Java client accesses multiple COM servers in a short period of time in DCOM mode (e.g. instanciating and closing Excel in a loop). This can now be avoided by using the JINTEGRA_FREE_UNUSED_ROES property. (Id: 466)
  2. The com2java "Ignore conflicting interfaces" option has been changed to "Implement conflicting interfaces". Deselecting this option will cause Java classes to NOT implement conflicting interfaces (i.e. comment out additional interfaces with conflicting method names). (Id: 509)
  3. Examples in the documentation have been updated to use JDK1.3.1 (JDK1.4.x is also supported). (Id: 517)
  4. Fixed NullPointerException when using COM event methods which contain parameters. (Id: 641)
  5. Fixed bug where some of the tools in jintegra\bin were unable to load their ResourceDLLs on Windows 95/98 machines. Updated the algorithm to also look in the jintegra\bin directory for its ResourceDLL. This was needed since Java Web Start does not support the distribution of libraries (DLLs) in a folder structure. (Id: 667)
  6. Fixed access violation that sometimes occurred when a COM client was calling a method in a Java class. The error happened when the Java class contained more than 193 methods. Now the limit to the number of methods a Java class can contain is 1000. (Id: 689)
  7. Fixed memory leak when a COM client accesses a Java object using early binding in DCOM or Native mode. (Id: 720)
  8. Fixed bug which caused Excel to crash when using VBA code inside Excel to repeatedly subscribe to an event on a Java object in DCOM or Native mode. (Id: 724)
  9. Fixed memory leak when accessing Java objects from VBScript in DCOM mode. (Id: 727)
  10. Fixed bug which caused Excel to crash on exit after subscribing to an event in DCOM or Native mode. (Id: 733)
  11. Fixed bug which caused VB IDE to crash when debugging code that made calls to Java objects in Native (in-process) mode. (Id: 738)
  12. Fixed bug which was causing GetObject calls in an ASP page to fail under heavy loads. (Id: 782)
  13. Fixed memory leak when accessing Java objects from COM in Native mode. (Id: 818)

What's new in J-Integra® v1.5.2? (Released April 19, 2002)

  1. We have added support for SAFEARRAYs of User Defined Types (UDTs) -- Structs -- in DCOM mode.  (ID: 542)
  2. It is now possible to have J-Integra® use the same Java thread for each COM client thread when the COM client thread invokes methods on Java objects, through the use of the JINTEGRA_MATCH_THREADS property -- see the last section of this page. (ID 557)
  3. If a Java class has methods such as setSomeProperty(...) and getSomeProperty(), these can now be accessed from a late bound COM client such as VBScript using the property name, for example o.someProperty.  (ID: 469)
  4. You can now control what Java objects are permitted to be accessed from a COM client (ID 634)
  5. COM string coercion into Java booleans now only works for 'true' and 'false' -- previously anything that was not 'true' was coerced to false.  (ID: 447)
  6. Several memory leaks, causing threads and sockets to build up over time in the runtime have been fixed.
  7. Significant performance enhancements.
  8. J-Integra® normally returns the result of calling toString() on a Java object when a COM client requests its default property. A bug whereby this was not happening for early-bound Java objects has been fixed.  (ID: 488)
  9. An early-bound COM client invoking a Java method that returned a date in native in-proc mode did not cause the return value to be zero when the Java client returned null.  This has been fixed.  (ID: 492)
  10. The J-Integra® runtime no longer terminates after two hours when running with an evaluation license  (ID: 555).
  11. A bug where the ntvinv.dll DLL sometimes failed to locate its localisation resource file has been resolved.  (ID: 559)
  12. If a Java String constant contained a newline character, the java2com tool generated invalid corresponding IDL.  This has been resolved (ID 573)
  13. The regtlb command now supports unicode characters in the type library path/file name.  (ID 613)

What's new in J-Integra® v1.5.0? (Released January 29, 2002)

  1. Three new Oracle9i Application Server examples have been added: VB client to HelloWorld EJB, VB client to Customer EJB and VB Client to Purchase Order System.
  2. Documentation is no longer packaged with the product but is available as a separate download.
  3. Support for reading three-dimensional Variant arrays in DCOM mode. (Id: 355)
  4. Performance improvements in native mode.
  5. New C++ zero client installation example.
  6. New example demonstrating integration with the IBM Web Services Toolkit.
  7. Fixed native mode problem where access violation can occur when calling a Java object from a COM client by doing a vtable call, when the method called throws an exception. (Id:359)
  8. Fixed JINTEGRA_MATCH_THREADS problem, where classloader not set in native mode. (Id:354)
  9. New licensing mechanism added.
  10. Miscellaneous documentation updates.
  11. Fixed access violation when instantiation of a remote COM object failed in native mode when the remote host was explicitly specified. (Id: 427).
  12. The Java-Exchange and Java-Excel bridges have been integrated with the Suite. Examples and .jar files for each product are included. Please see the What's New sections in Java-Exchange and Java-Excel.
  13. Fixed memory leak when doing a queryInterface on a Java object from a COM client in native mode with the DONT_DETACH_JNI_THREADS property set. (Id: 358).
  14. com2java now only generates starting, finished and error messages when processing a type library. (Id: 302)
  15. Fixed bug in regjvm where it failed to correctly generate a registry script when the classpath is long. (Id: 321)
  16. No longer log "not tracking" log message to jintegra log. (Id: 287)
  17. New installation program supporting Windows and UNIX platforms.

What's new in J-Integra® v1.4.1? (Released August 7, 2001)

  1. A new HP Bluestone Application Server example (EJBs) has been added.
  2. A new JBoss Application Server example (EJBs) has been added.
  3. A new JRun Application Server example (EJBs) has been added.
  4. It is now possible to call a Java method which takes an array of Java objects of a specific class as parameters, using early binding, by passing a Variant array, each element containing a reference to a Java object of the appropriate class.

What's new in J-Integra® v1.4.0? (Released June 3, 2001)

  1. Our evaluation licensing mechanism has been improved -- you will be sent a license by email when you download the J-Integra® kit. Compile the license class and place it in a directory in your CLASSPATH to activate your 45 day evaluation.
  2. A new Visual SourceSafe example has been added.
  3. A new Oracle8i EJB example has been added.
  4. The com2java tool now handles SAFEARRAYs of enums correctly.
  5. A bug calling into Java from COM clients on Windows 98 has been fixed
  6. You can now ask to be notified when new DCOM connections are established from COM clients, and you can reject such connections.
  7. You can now get the default property associated with a COM object by calling the getDefaultProperty() method on it.
  8. Several new Technical Notes have been created.
  9. You can now set the JINTEGRA_OUTGOING_TIMEOUT property to the time in milliseconds after which J-Integra® will close outgoing connections.
  10. You can ask J-Integra® to pre-fetch the next element behind the scenes when accessing COM VariantEnums as java.util.Enumerations.

What's new in J-Integra® v1.3.9? (Released April 2, 2001)

  1. There are several new technotes online, including one on accessing COM objects from EJBs (TN024), and on running Java classes a Windows Services (TN020).
  2. The iPlanet Application Server example has been updated to support the latest version of iPlanet.
  3. You can now pass Variants of type VT_EMPTY and VT_NULL from Java to COM by passing com.linar.jintegra.EmptyVariant.TYPE and com.linar.jintegra.NullVariant.TYPE.
  4. The ASP to Java example now includes code for JScript, in addition to VBScript.
  5. Fixed a bug where two Unreferenced notifier threads were started.
  6. Added the JINTEGRA_INCOMING_CONNECTION_TIMEOUT property which can be set to the number of milliseconds after which J-Integra® should close incoming connections.
  7. Better support for passing COM GUIDs has been added.
  8. A new JMS example shows how to place objects in a JMS queue from Visual Basic using both late and early binding.
  9. A new WebSphere EJB example has been added, showing how you can access EJBs hosted in WebSphere from COM clients.
  10. A new .NET example has been added, showing how you can access .NET components from Java clients.
  11. A new Crystal Reports example has been added.
  12. A new Dragon NaturallySpeaking example has been added.
  13. A bug in the java2com tool for string constants containing control characters has been fixed.

What's new in J-Integra® v1.3.8? (Released February 3, 2001)

  1. Linar has been acquired by Intrinsyc Software
  2. The com2java tool now generates Java String constants for modules in type libraries.
  3. When a COM client accesses Java objects in a in native in-process Java 2 JVM, the thread context classloader is now set to use application classloader, rather than the (default) bootstrap classloader. This was causing problems with the WebLogic examples with native in-process JVMs.
  4. The java2com tool now sorts the constructs in the generated IDL file alphabetically. We had reports the the arbitary ordering was causing type library compatability problems when the ordering changed.
  5. A bug with the MS JVM in which the static block for classes loaded using Class.forName(...) was not being executed has been worked around. This manifested itself when using J-Integra® in Applets under IE.
  6. The com2javacmd tool now no longer requires absolute path names for file names passed as parameters.

What's new in J-Integra® v1.3.7? (Released December 3, 2000)

  1. We now have a customer references page.
  2. Embedding ActiveX Controls in a Java GUI is no longer a Beta feature
  3. An example of using the Active Directory (ADSI) to create a new Windows user account from Java has been added.
  4. A example of using J-Integra® with the iPlanet Application Server has been added.
  5. Several new technical notes have been added.
  6. It is also possible to tell J-Integra® what range of local ports should be used when connecting to COM servers (see Technical note 007)
  7. The java2com tool now generates module String constants in the generated IDL for public static final String Java fields.
  8. Several performance optimisations are included. For optimum performance please run using the jintegra_reduced_logging.jar runtime rather than jintegra.jar
  9. A bug that stopped Windows 98/95 clients from accessing Java objects as COM objects without disabling security has been fixed.
  10. A bug when running in native code that caused VB to crash when subscribing to Java events has been fixed.

What's new in J-Integra® v1.3.6? (Released September 26, 2000)

  1. Quite a few issues related to native mode have been fixed.
  2. We have added support for passing Java objects by value from Java to COM
  3. A bug that caused crashes when loading a Hotspot JVM in-process has been fixed.
  4. We now support hosting ActiveX Controls in a Java GUI
  5. Added support for passing 2D arrays including String arrays from Java to COM

What's new in J-Integra® v1.3.5? (Released August 1, 2000)

  1. You can now access Java objects from COM clients without installing anything at all on the COM client machine.
  2. You can now ask to be notified when Java objects are longer referenced by COM clients.
  3. The java2com tool now saves its settings in XML format. You can still load a version v1.3.4 settings file, but when you save it will save as XML.
  4. The java2com tool now has an option to automatically save settings when exiting
  5. The checkconfig command now automatically displays information about the last type library tool processed by com2java
  6. You can now use java com.linar.jintegra.Version to find out what version of J-Integra® you are using.
  7. The 'com2java' tool now has an option to generate code for [in]* parameters as though they were [in]
  8. When calling Java objects from COM in native in-proc mode, Java output to System.out goes to the hosting process's stdout
  9. Clicking on the X at the top-right-hand-side of an ocxhost window hides the window.
  10. A couple of Native mode reference counting bugs have been fixed
  11. If you tell J-Integra® what IP address to embed in DCOM references to local Java objects that are passed to remote COM objects (by setting the java.util.rmi.server property or the com.linar.jintegra.server property) then J-Integra® now only listens on that IP address.

What's new in J-Integra® v1.3.4? (Released June 4, 2000)

  1. We have merged the proxies used for DCOM and native mode -- you must regenerate your proxies using 'com2java' or 'java2com' if you are upgrading to version v1.3.4. Your own code need not change.
  2. Native Mode is no longer a beta feature.
  3. We have added the following examples:
  4. The WebLogic example has been updated to work with Weblogic version 5.1
  5. The regjvm.exe tool is now GUI based (othe older command line regjvm tool is now called regjvmcmd)
  6. A deployment document has been added, describing what files are needed where, when deploying J-Integra® based solutions.
  7. The java2com tool now remembers Class and Interface UUIDs (it doesn't change them when class/interface changes though ...)
  8. We have extended our support for structures -- we now support passing SAFEARRAYs of structures from COM servers to Java clients.
  9. The 'com2javacmd' command now has a '/default' option which makes it run using the settings last used in the GUI 'com2java' tool.
  10. J-Integra® now supports two-dimensional byte arrays

What's new in J-Integra® v1.3.3? (Released March 31, 2000)

  1. We now include an example of accessing:
  2. We have an article on talking from COM clients to Java objects running on EPOC devices (such as Psion palmtops, mobile 'phones, etc.)
  3. You can now find out the identity of the COM client making calls into your Java code.
  4. Enhancements to the 'java2com' tool include:
  5. Two new command line tools:
  6. SilverStream has created a whitepaper showing how J-Integra® can be used with SilverStream.
  7. Native Mode is still in beta.

What's new in J-Integra® v1.3.2? (Released January 31, 2000)

  1. We now offer an alternative to DCOM for Java-COM interaction: Native code (this feature is in beta).
  2. The 'java2com' tool now supports methods which use two-dimensional Object and String arrays as parameters or as return types (often used in CORBA bindings).
  3. com2java now has option to generate package and type names for types in type libraries other than the one being processed
  4. com2java now remembers the package name and output directory associated with type libraries that it has processed, and it includes a list of the 20 most recently used type libraries.
  5. We have added better support for structures, specifically structures containing strings.
  6. You can now specify the workstation name that NT perceives DCOM calls as coming from when using J-Integra®, by setting the JINTEGRA_WS_NAME property.
  7. We now include an example of accessing Symantec Act!
  8. We now include an example of accessing Accessing Microsoft's Internet Explorer
  9. We now include an example of accessing Accessing Microsoft's Windows Media Server
  10. We now include an example of using J-Integra® with the Inprise Application Server.
  11. We now include an example of using J-Integra® with the SilverStream Application Server.
  12. We now include an example of using J-Integra® with the Inprise JBuilder.
  13. Fixed bug accessing COM enumerations as Java enumerations.
  14. regtlb automatically removes old registry entries
  15. A minor fix to add support for the release version of Windows 2000 has been added.
  16. java2com now has option to perform a dump of its analysis -- now you can see why all those classes are being pulled in, and you can use the "Names" button to stop certain key classes from being analysed.
  17. The Jvm.register() method is overloaded -- you can specify the port name as the second parameter.

What's new in J-Integra® v1.3.1? (Released November 29, 1999)

  1. The runtime in this kit will stop working after the end of January 2000 unless you purchase a license.
  2. The 'com2java' tool now has an option to generate code to retry calls to COM objects if a call fails with the error AutomationException: 0x80010001 - Call was rejected by call.
  3. You may now tell the runtime what ip address to use in DCOM references to local Java objects that are passed to remote COM objects. Do this by setting the java.util.rmi.server property or the com.linar.jintegra.server property (the latter overrides the former).
  4. The 'java2com' tool now ignores methods called '<clinit>'. It also generates code for methods in event interfaces which do not confirm to the standard event method prototype pattern -- such methods have code generated which will compile, however if these methods are used a runtime exception will be generated.
  5. When automatically launching a JVM the J-Integra® Moniker emitted several error messages (and eventually suceeded) -- these error messages are no longer displayed.
  6. Two-dimensional string arrays can now be received (previously only 2D variant arrays were supported).
  7. You can now access instances of java.util.Vector and java.util.List as Visual BASIC collections from Visual Basic. The mapping is described here.
  8. We have included a CheckConfig.exe utility in the 'bin' directory. This tool performs several configuration checks on a machine, and displays the result of its analysis.
  9. We have changed the mapping of Java errors to Visual Basic errors. Err.Source contains the stack trace, and Err.Description contains the Exception.getMessage()
  10. We have fixed a memory leak which occurred when invoking Java objects from COM using early binding.
  11. We have included several new examples, include one of accessing Rational Rose, and of accessing COM objects from JavaServer Pages.
  12. The J-Integra® date conversion routines have been updated to fix a timezone related issue. In view of Y2K related sensitivities regarding dates, we are publishing the updated conversion code for open review.
  13. A standard facility of COM is the ability to bind to an object using a string form of object reference, called an ObjRef Moniker. Given such a moniker you can now bind to a running object using J-Integra®. Generated Java classes corresponding to COM classes now have a static bindUsingMoniker(String moniker) member. If you are not familiar with ObjRef Monikers then please make sure you understand them fully prior to using this facility. Binding to running objects using string ObjRef monikers requires no native code, and can be used on any OS.

What's new in J-Integra® v1.3.0? (Released September 27, 1999)

What's new in J-Integra® v1.2.2? (Released July 26, 1999)

  1. This kit will stop working after the end of September 1999 unless you purchase a license.
  2. An Enterprise JavaBeans example has been added to the documentation (uses BEA WebLogic)
  3. An OLE for Process Control (OPC) Example has been added to the documentation.
  4. A couple of issues which prevented J-Integra® working with Windows 2000 (Beta 3) have been resolved.
  5. A bug which caused a "invalid argument exception" when handling events has been fixed.
  6. J-Integra®'s late boundCOM->Java support has been enhanced. All public methods available either via public interfaces that the object implements, or via public classes in its inheritance hierarchy are rendered accessible from COM.
  7. A bug in the 'java2com' tool which generated wrong marshalling code for Java methods which had arrays as parameters or return types has been fixed.
  8. The generated COM class constructors which take an AuthInfo as a parameter are deprecated. Use AuthInfo.setDefault(...) or AuthInfo.setThreadDefault(...) instead.

What's new in J-Integra® v1.2.1? (Released June 17, 1999)

  1. "Jintegra" has been renamed "J-Integra®".
  2. Licensing has been simplifed. You no longer need to enter license information into the 'com2java' or 'java2com' tools. Instead licensees are given a "JintegraLicense.java" Java file which they compile, putting the resulting class file in their CLASSPATH. Existing licensees have been sent their new license file.
  3. J-Integra®'s COM->Java support has been drastically simplified. You will need to change your code. If you have purchased a J-Integra® license, and you are adversly affected by this change, please let us know as soon as possible.
    If you were using VB/VBA late binding, then If you are using Early (vtbl) Binding, then you will need to run J-Integra®'s java2com tool to generate an IDL file, compile the IDL file to generate a type library, and then register the type library. All the examples have been updated.
  4. Added an ActiveX Data Object (ADO) example to the "examples" directory in the kit.
  5. Methods that are marked as being "restricted" are now processed by 'com2java'
  6. The special "_NewEnum" method name is recognized by 'com2java' -- it generates a method which returns a java.util.Enumeration. Call 'nextElement' on it until it throws a NoSuchElementException.
  7. Fixed bug whereby if an AuthInfo was passed to a COM object constructor it would not be used.
  8. Minor bug fixes in 'com2java'

What's new in J-Integra® v1.2.1? (Released May 28, 1999)

  1. Added a thin ActiveX Control (OCX) container called 'ocxhost'. Based on work by Mark Gibbons (thanks Mark!).
  2. Fixed bug that occasionally caused a null pointer exception when J-Integra® performed a RemQueryInterface on a COM object.
  3. Added option to 'java2com' to not perform an analysis, but simply generate registry definitions which can be used to access a Java class using COM late-bound access.
  4. Fixed bug in J-Integra®'s native code authentication mechanism which manifested itself under VisualAge.
  5. The J-Integra® Activator now stores information in the LOCAL_MACHINE part of the registry rather than the CURRENT_USER -- this means that J-Integra®'sCOM->Java support now works correctly from environments such as Active Server Pages. You will need to re-run J-Integra®'s 'java2com' tool and re-enter the generated registry definition files.
  6. Garbage collection has been rationalized. If a DCOM object reference is garbage collected then it is added to a list of remote references to be released. Every two seconds any such references are released by a J-Integra® runtime demon thread.
  7. Support for additional non-Automation COM types has been added. J-Integra® now supports:
    signed/unsigned 8 bit numbers mapped to Java byte signed/unsigned 16 bit numbers mapped to Java short
    signed/unsigned 32 bit numbers mapped to Java int signed/unsigned 64 bit numbers mapped to Java long
    HRESULT mapped to Java long 32 bit floats mapped to Java float
    64 bit floats mapped to Java double 64 bit fixed point (VT_CY) mapped to Java long
    DATE mapped to Java java.util.Date BSTR mapped to Java java.lang.String
    IDispatch mapped to Java java.lang.Object IUnknown mapped to Java java.lang.Object
    BOOL mapped to Java boolean VARIANT mapped to Java java.lang.Object
    void* mapped to Java int


  8. The 'com2java' tool now issues a warning if a method parameter is not marked as being [in], [in out] or [out]
  9. The 'com2java' tool now supports aliases in type libraries
  10. The examples in the documentation have been updated to always include [in], [out], or [in, out] in IDL method definitions.
  11. You can now purchase a J-Integra® license on-line by Credit Card.

What's new in J-Integra® v1.2.0? (Released April 12, 1999)

  1. COM unsigned chars now map to Java bytes. They used to be mapped to Java integers. If you have licensed J-Integra® and are impacted by this change, please contact us
  2. The documentation examples have been updated to reflect the fact that it is now no longer always necessary to specify the domain/user/password to be used when accessing COM objects from Java.
  3. The 'java2com' tool now has a GUI.
  4. Step-by-step examples of accessing Java objects as COM objects have been added:
  5. We have added basic support for invoking COM object methods at runtime by name.
  6. A troubleshooting guide has been added.

What's new in J-Integra® v1.2.0 Beta 1? (Released March 16, 1999)

  1. There is now no need to specify domain/user/password if logged in to a Windows machine. Make sure that the J-Integra® bin directory is in your PATH. J-Integra® will use your local credentials (interactive user) if you have not specified authentication information (either using com.linar.jintegra.AuthInfo.setDefault()) or by passing an authInfo parameter to a proxy constructor. Note that the documentation has yet to be updated to reflect this.
  2. There is now full support for COM access to Java objects. Previously you had to use callbacks, not any more. Check out the updated section on Accessing Java objects from COM. Access instances of any public class running in any JVM, including Java 2 on any platform from COM.
  3. Long passwords no longer cause IndexOutOfBounds exceptions
  4. You can now use the queryInterface method on an interface proxy to cause it to query the remote COM object to see if it really does implement the interface. By default J-Integra® delays this query until the first method call.
  5. An example of accessing Word document attributes (author, title, manager etc) has been added to the examples directory in the kit.
  6. The static com.linar.jintegra.Log.logImmediately(int logLevel, PrintStream logFile) can now be called to tell J-Integra® to not log messages in a background low priority thread (which it does by default).
  7. This beta will expire in one month (17th April). We plan on releasing the full v1.2 well before that. About time to place that order ;-)

What's new in J-Integra® v1.1.0? (Released January 29, 1999)

  1. Added lots more examples to the kit, in a separate examples subdirectory.
  2. Added support for arrays outside of Variants (VC examples and VB examples included)
  3. The "equals()" method has been overridden on references to remote objects, and you can now compare references to remote objects to see if they refer to the same object (uses DCOM OID).
  4. Support for marshalling COM Structures has been added as an experimental feature. Take a look at the examples/ms_vc/structs directory in the kit. Structures are mapped by J-Integra® to Java classes with all fields as public member variables.
  5. The VT_INT Automation type has can now be used.
  6. Setting the property TCP_NODELAY to any value causes a java.net.Socket.setTcpNoDelay(true) to be invoked on all sockets opened by J-Integra®
  7. An example of accessing Java objects from Active Server Pages has been included in the examples subdirectory.
  8. The 'com2java' tool now accepts command line parameters - pass a '?' to see the syntax. Note that the tool runs asynchronously.
  9. The Applet Example has been extended to demonstrate how to go beyond the sandbox by using the Java Plugin.
  10. Java objects can now generate COM events (although to the Java objects they look just like Java events). Both Visual C++ and Visual BASIC examples are included in the examples subdirectory.
  11. Added pointer to an article on using J-Integra® with IBM's WebSphere Application Server to the Application Server documentation.

What's new in J-Integra® v1.01? (Released December 7, 1998)

  1. A bug causing callbacks and events to not work in some circumstances has been fixed.
  2. Added option to the 'com2java' tool to leave method names unchanged. By default method names are changed to start with a lowercase letter, as is the convention for Java.
  3. Minor documentation updates.
  4. Code obfuscator update has resolved verifier errors when using J-Integra® with JDK1.2
  5. J-Integra® now propogates DCOM Causality IDs correctly.
  6. Fixed bug causing TCP/IP connections to the DCOM SCM to not be correctly closed.
  7. Runtime expiry date updated to 31st Jan 1999 (unless a license is purchased and installed).

What's new in J-Integra® v1.00? (Released November 8, 1998)

  1. Fixed a problem handling remote object references whereby the wrong protocol address was sometimes being used (rather than TCP/IP).
  2. Fixed a bug in the handling of two-dimensional variant arrays
  3. Added new com.linar.jintegra.Authentication.setDefault() method, used to set the default authentication to be used when none is specified when creating a COM component.
  4. Fixed bug in J-Integra®'s handling of DCOM ComplexPing calls into J-Integra®'s OXID Resolver from remote systems.
  5. Added example of the use of J-Integra® from GUI development environments (IBM's VisualAge) to the documentation.
  6. Incorporated some of the J-Integra® test-suite into the kit, as examples of the use of J-Integra®.
  7. Added support for COM classes implementing multiple interfaces. The corresponding Java class now implements the interfaces, and allows their methods to be invoked.
  8. Better detection of COM servers exiting. J-Integra® now throws EOFException if an attempt is made to talk to a COM component that has unexpectedly disappeared.

What's new in J-Integra® Beta 0.06? (Released October 18, 1998)

  1. Added possibility of specifying the prefix to be used by com2java in situations where a COM interface name, method, or parameter name etc clashes with a Java reserved word.
  2. com2java now generates event adapter classes to make implementing event interfaces more convenient. It also generates a class for each method in event interfaces, containing all of the parameters to that method. The class is then passed as the sole parameter to the method. This is because the convention for event methods is that there is a sole parameter. J-Integra® generated classes and interfaces can now be correctly manipulated in GUI builder tools which analyze classes to determine properties, methods and events (prior to this release, events were not recognized because they did not adhere to the convention).
  3. Added a new method getPropertyByName(String name) to classes generated by com2java. This method can be used to get a property at runtime, based on its name. This is used in the excel example Windows 95 code, and obviates the need for the 'always Dispatch' checkbox in the com2java tool, which was introduced in Beta 0.03.
  4. Added the Application Server (NetDynamics) example to the documentation.
  5. Added the Excel Charting, Outlook and Shell (minimises all windows, lists local hard drives) examples to the documentation.

What's new in J-Integra® Beta 0.05? (Limited release)

  1. Fixed problem in com2java tool for cases where interface A derives from interface B, and B is marked as 'hidden' in the type library.

What's new in J-Integra® Beta 0.04? (Released September 31, 1998)

  1. Added support for cases where one interface derives from another, such as the ADO._RecordSet deriving from ADO._ADO
  2. Fixed problem with passing a reference to a remote object as a parameter in COM interface method calls.
  3. Fixed problem with arrays of IUnknowns.
  4. Added tentative support for 'oleautomation' interfaces in the 'com2java' tool.

What's new in J-Integra® Beta 0.03? (Released September 24, 1998)

Allowed possibility of only generating Dispatch interfaces to remote components, in order to work around an apparent Excel bug, which manifests itself under Windows 95/98, with a message that the Workbook class does not implement the _Workbook interface.

There is now a "Only Dispatch" checkbox in the com2java tool. Check this checkbox to only generate Dispatch interfaces. You should do this if you will be accessing Excel under Windows 95/98. Note that the rest of the documentation has not been updated to reflect this new checkbox.

What's new in J-Integra® Beta 0.02? (Released September 20, 1998)

  1. Support for custom interfaces
    The first beta release of J-Integra® accessed all ActiveX Components through the IDispatch Automation interface. This release invokes methods directly, through custom interfaces. Note however that such an interface must be a 'dual' interface, derived from IDispatch.
  2. Support for outgoing interfaces (events)
    If a COM component can generate events (through a 'source' interface), Java objects can subscribe to the event, by implementing the event interface, and using the 'addXYZListener()' and the 'removeXYZListener()' methods that are automatically generated in the Java class corresponding to the COM Component. Java's security restrictions mean that events can not be subscribed to from Applets.
  3. Support for callbacks into Java objects
    You can now pass a Java object as a parameter in a method call on a COM Component. The component can then make calls back into the Java object. If the component accesses the Java object through the IDispatch interface, then all public methods (including static methods and inherited methods) and all public fields are available 'for free'. Alternatively the component can access the Java object through a COM interface (if the Java object implements the COM interface). Java's security restrictions mean that callbacks can not be used from Applets.
  4. Minor changes:

J-Integra® Beta 0.01 was released on August 18, 1998