From bfdc36ad3044d469602f2c7e4bdb13e48eea2417 Mon Sep 17 00:00:00 2001 From: clay_shooter Date: Thu, 19 Jul 2007 10:38:01 +0000 Subject: [PATCH] Documentation Updates --- docs/EventCallbacks.html | 7 ++++--- docs/UsingJacob.html | 39 +++++++++++++++++++++++++++++++++------ 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/docs/EventCallbacks.html b/docs/EventCallbacks.html index 62562ea..bc7b836 100644 --- a/docs/EventCallbacks.html +++ b/docs/EventCallbacks.html @@ -3,10 +3,11 @@ Jacob can register Java classes for MS application events or callbacks -

Events

-Jacob can register Java classes for MS application events or callbacks. The normal flow for this is: +

Overview

+Jacob can register Java classes for MS application events or callbacks. - +

Sequence of Events

+The normal flow for this is:
  1. Application thread creates an instance of the event handler and registers it with Jacob
  2. The application continues on doing other work. diff --git a/docs/UsingJacob.html b/docs/UsingJacob.html index ed4e8f7..b8df196 100644 --- a/docs/UsingJacob.html +++ b/docs/UsingJacob.html @@ -1,13 +1,40 @@ -

    Determining the API of the target application

    +Jacob is a Java library that lets Java applications communicate with Microsoft Windows +DLLs or COM libraries. It does this through the use of a custom DLL that the Jacob +Java classes communicate with via JNI. The library and dll isolate the Java developer +from the underlying windows libraries so that the Java developer does not have to write +custom JNI code. +

    +Jacob is not used for creating ActiveX plugins or other moduless that +live inside of Microsoft Windows applications. +


    + +

    The Jacob Packages

    +

    +The JACOB jar contains two main packages: the com.jacob.com.*> package and +the com.jacob.activeX package. The com.jacob.com.* package contains classes +map very closely to the com dispatch model with the com.jacob.com.Dispatch +acting as the primary communication class. Dispatch operate as a function library with +a set of static methods that map very closely to the C++ Dispatch APIs provided +to the COM layer. +

    com.jacob.activex.ActiveXComponent can be used in place of Dispatch +to provide a more object like API. +The only exception to this guideline is that the ActiveXComponent class is always +used to make the initial connection to the target dll/COM component. + +


    +

    Determining the API of the target application

    Section not yet written.


    -

    The Jacob DLL

    +

    The Jacob DLL

    Jacob.jar relies on a DLL file that it loads off of the library path or classpath. +This means that you must either copy jacob.dll into your path or use VM options to +add jacob.dll directory to the path. +

    The code is written so that the jacob.dll is only loaded one time per classloader. This works fine in the standard application but can cause problems if jacob.jar is loaded from more than one class loader. This can happen in the situation where multiple @@ -25,7 +52,7 @@ so the DLLs will only get loaded once. This problem is described in SF 1645463 should be fixed in some future release, fix method and time not yet determined.


    -

    Microsoft Visual C++ library dependencies.

    +

    Microsoft Visual C++ library dependencies.

    Jacob 1.3 is built with VC++ 2005 that creates a dependency on msvcr80.dll. Windows XP and later seem to already include the necessary components. NT/2000 and Server/2003 require that you download vcredist_x86.exe @@ -40,7 +67,7 @@ http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d


    -

    Jacob Command Line Settings

    +

    Jacob Command Line Settings

    This library supports several different :

    java.library.path

    Used to add the location of the jacob dll to the JVM's library path. @@ -112,7 +139,7 @@ This library supports several different : Example: -XCheck:jni


    -

    Finding the DLL version using windows command line

    +

    Finding the DLL version using windows command line

    The jacob.dll file includes the jacob release number in the version field. Run the following from the command prompt dumpbin /version jacob.dll . The dll version number is stored in the "image version" field of the @@ -121,7 +148,7 @@ This information from