Oracle® Outside In Viewer for ActiveX Developer's Guide Release 8.4.0 Part Number E12847-03 |
|
|
View PDF |
The Outside In Viewer for ActiveX control provides developers of container-aware applications the ability to view and print documents of varying types from within their own application. This is the same technology that is provided through the Outside In Viewer Technology API. Developers using Microsoft Visual Basic/C++/C# and Borland's Delphi will all find this control easy to use and powerful enough to handle document viewing needs.
This chapter includes the following sections:
Section 2.2, "Installing the ActiveX Control as Part of Your Application"
In order for applications to use this control, the control must be installed on each workstation on which the application is to run.
Outside In requires the msvcr80.dll redistributable module.
C++.NET sample applications require Visual Studio 2005 SP1 C-runtime libraries.
MFC applications require MFC 4.2 runtime libraries.
The system requirements for this product are as follows:
Requirement | Value |
---|---|
Disk Space |
18 Mb |
CPU |
Intel 486 or higher |
Operating System |
Microsoft Windows 2000 or newer |
Memory |
16Mb |
Compiler |
Visual C++ and Visual Basic Reference 6.0 |
Notes Storage Format (NSF) files are produced by the Lotus Notes Client or the Lotus Domino server. The NSF filter is the only Outside In filter that requires the native application to be present to filter the input documents. Due to integration with an outside application, NSF support will not work with redirected I/O nor will it work when an NSF file is embedded in another file. Either Lotus Notes version 8 or Lotus Domino version 8 must be installed on the same machine as OIT. A 32-bit version of the Lotus software must be used if you are using a 32-bit version of OIT. A 64-bit version of the Lotus software must be used if you are using a 64-bit version of OIT.SysLotusNotesPath should be set to the directory containing the nnotes.dll. NSF support is only available on the Win32 and Win x86-64 platforms.
The technology creates two sets of information: the default options, and a list of available display engines. In the Windows implementations, these lists are built by the technology as needed, usually the first time ActiveX is run. You do not need to ship these lists with your application. The lists are automatically regenerated if corrupted or deleted.
The files used to store this information are stored in a .oit subdirectory in the following location:
\documents and settings\user name\Application Data
If an .oit directory does not exist in the user's directory, the directory is created automatically by the technology. The files are automatically regenerated if corrupted or deleted.
The files are:
Display engine lists: *.d
Persistent options:*.opt
These file names are intended to be unique enough to avoid conflict for any combination of machine name and install directory. This allows the user to run products in separate directories without having to reload the files above. The file names are built from an 11-character string derived from the directory the Outside In technology resides in and the name of the machine it is being run on. The string is generated by code derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
Before using the control, it must be added to the Visual Basic toolbox.
Start Visual Basic 6.0.
Open an existing project or select New Project.
Select the Project Menu, choose Components.
Check the box next to Outside In for ActiveX Control and click OK.
The control appears in the toolbox and may be added to a form as any other control would be added.
To install the ActiveX control into the Microsoft Visual C++ 6.0 developers' environment:
Start Visual C++.
Open an Existing workspace or select a New workspace.
From the Project menu, select Add to Project then Components and Controls.
Open the Registered ActiveX Controls folder.
Select the ActiveX control and click Insert.
To install the ActiveX control into the .NET developers' environment:
Start Visual Studio.
Open an Existing project or select a New project.
From the toolbox tab, select Choose Items.
Select the COM Components tab and select the ActiveX Control.
Select the ActiveX control and drop it on the dialog box.
Please do not ship the development installation package. Instead, add the following tasks to the installer for your application:
Copy the Filters directory onto the target machine.
Create a registry key for your application:
HKEY_LOCAL_MACHINE\Software\OIX\executable name
To minimize the chance of conflicts with other installations, the key name should be specified as a full path to your executable, with forward slashes for path separators.
Note:
Versions of this control prior to 8.3.5 had the default location of the FilterPath entry as HKLM\Software\OIX\OutsideX. Versions 8.3.7 and beyond will be using the HKLM\Software\OIX\OutsideX\{CLSID of control}\FilterPath. For the current version, the CLSID is {FAEFCA6D-124C-4729-89E4-EADDCE7BB122}. If you cannot or do not use a unique FilterPath, then use this default value when installing the ActiveX product with your application.
Create a string value in that registry key with the name "FilterPath," whose value is the full path to the filters directory on the target machine.
Copy the outsidex.ocx to the \system directory.
Register the outsidex.ocx control.
Note:
Starting with the 8.3.7 release of OutsideIn Technology, the control has been branded with a new GUID/CLSID everytime the API changes. This would require a rebuild of your application (after changing references to the new control and this varies from development environment to environment) to use this control.
The specific steps necessary to accomplish these tasks depend on the installer software you are using. However, if you are creating your own installer; you can register the outsidex.ocx by calling regsvr32.exe outsidex.ocx. Regsvr32.exe is also located in the System directory.
Note:
Versions of this control prior to 8.2.0 stored the filter path in a particular location in the system registry, even if multiple versions of the control were installed in different locations on the same system. Therefore only the last copy of the control installed on the system had access to its correct configuration information. Any other copy on the same system could experience errors or incompatibilities at runtime. Steps 2 and 3 above now enable multiple copies of the control to co-exist peacefully on the same system. Steps 2 and 3 can be skipped if the application will be responding to the GetTechPath event to provide the filter location.
The following is an example of a .reg file entry for registering the filter path:
[HKEY_LOCAL_MACHINE\SOFTWARE\OIX\c:/Program Files/App/myapp.exe] "FilterPath"="c:\\Program Files\\App\\OIX\\Filters"
The OutsideIn Technology modules have been renamed from previous versions by appending the version number. This is to prevent conflicts in applications required to run multiple versions of the technology simultaneously. We recommend that the previous version of the modules be removed before installing the update. If multiple versions are found in the technology directory, the latest version will be used.
Here is an overview of the files contained in the main installation directory for this product.
These DLLs implement the API. They should be linked with the developer's application. LIB files are included in the SDK.
File | Description |
---|---|
oswin*.dll |
Interface to native GDI implementation (oswin32.dll is the module for Windows 32-bit implementation, and oswin64.dll is the module for Windows 64-bit implementation) |
outsidex*.ocx |
Outside In module installed in the System directory (outsidex.ocx is the module for Windows 32-bit implementation, and outsidex64.ocx is the module for Windows 64-bit implementation) |
sccca840.dll |
Content Access module (provides organized chunker data for the developer) |
sccanno840.dll |
Annotation module |
sccch840.dll |
Chunker (provides caching of and access to filter data for the display engine) |
sccda840.dll |
Data Access module |
sccdu840.dll |
Display Utilities module (includes text formatting) |
sccfa840.dll |
Filter Access module |
sccfi840.dll |
File Identification module (identifies files based on their contents). The File ID Specification may not be used directly by any application or workflow without it being separately licensed expressly for that purpose. |
sccfmt840.dll |
Formatting module (resolves numbers to formatted strings) |
sccfut840.dll |
Filter utility module |
sccind840.dll |
Indexing engine |
scclo840.dll |
Localization library (all strings, menus, dialogs and dialog procedures reside here) |
sccole840.dll |
OLE rendering module |
sccta840.dll |
Text Access module (provides straight text data for the developer) |
sccut840.dll |
Utility functions (including IO subsystem) |
sccvw840.dll |
Viewer module (this is the DLL that your application loads, providing control of all viewer functions) |
wvcore840.dll |
The GDI Abstraction layer |
File | Description |
---|---|
debmp840.dll |
Bitmap (TIFF, GIF, BMP, PCX…) |
dehex840.dll |
Hexadecimal |
devect840.dll |
Vector/Presentation (PowerPoint, Impress, Freelance…) |
dess840.dll |
Spreadsheet/Database (Excel, Calc, Lotus 123…) |
detree840.dll |
Archive (ZIP, GZIP, TAR…) |
dewp840.dll |
Document (Word, Writer, WordPerfect…) |
Filter and Export Filter Libraries
File | Description |
---|---|
vs*840.dll |
Filters for specific file types (there are more than 150 of these filters, covering more than 500 file formats) |
File | Description |
---|---|
i*2840.flt |
30 .flt files (the import filters for premier graphics formats) |
isgdi32840.dll |
Interface to premier graphics filters |
Additional Files
File | Description |
---|---|
adinit.dat |
Support file for the vsacd2 filter |
cmmap000.bin |
Tables for character mapping (all character sets) |
oitnsf.id |
Support file for the vsnsf filter |
This SDK includes several sample applications that demonstrate the use of various features of the ActiveX control. Various samples are provided that were created with Visual C++ 6.0, Visual Basic 6.0 (32-bit only), and Inprise Delphi 4.0 (32-bit only).
DrawPage: This sample demonstrates the DrawPage functionality. Functions demonstrated:
RedirectOIX: This sample demonstrates the Redirected I/O functionality. Functions demonstrated:
welcome: A simple application to view WELCOME.DOC and the associated sample files. Functions demonstrated:
simple: This sample demonstrates the simplest implementation of the viewer technology. It shows the basics of how to create a view window, view a file, print the viewed file, and copy to the clipboard. Functions demonstrated:
search: This sample is essentially the same as simple except it adds the ability to search for strings in the file being viewed. Functions demonstrated:
annotate: This sample uses the viewer's Raw Text and Annotation ability to annotate all occurrences of the text "the" in the document. Functions demonstrated:
mdiview: A simple multiple document interface viewer implementation. Demonstrates clipboard support, including the SelectAll function and the use of the ViewAs parameter within the ViewFile function to view text and HTML files in multiple character sets. Functions demonstrated:
options: This sample shows how viewer options may be directly set by an application and how to access the viewer technology's dialogs and menus. Functions demonstrated:
The following applications were created in Microsoft Visual Studio 2005. The following .Net sample applications are provided: SimpleCS, SearchAnnoCS, SimpleVB, SearchAnnoVB, SimpleCPP, and SearchAnnoCPP.
Simple(CS, VB, CPP): This sample demonstrates the simplest implementation of the Viewer Technology and Redirected I/O. It shows the basics of how to create a view window, view a file, print the viewed file, and copy to the clipboard. Functions demonstrated:
SearchAnno(CS, VB, CPP): This sample demonstrates searching and annotating documents. This sample uses the viewer's Raw Text and Annotation ability to annotate all occurrences of the text "the" in the document. Functions demonstrated: