What is ISIS Xpress?

Accusoft.ISISXpress4.ActiveX | Accusoft Pegasus
What is ISIS Xpress?
See Also Send Feedback |
Introduction > What is ISIS Xpress?

Glossary Item Box

ISIS® Xpress™ Version 4 is a powerful, complete, and low-cost software development kit (SDK) used to control high-speed ISIS scanners. ISIS® Xpress can be used as a .NET component or an ActiveX COM component. Designed for high-speed scanning of black/white, grayscale and color documents, it supports simultaneous image capture (multi-streaming), and provides access to ISIS scanner features. ISIS® is a registered trademark of EMC Corporation.

New Features in Version 4

  • Updated support of all high-speed ISIS®-driven scanners to the Version 8 of the EMC Corporation's ISIS® PixTools® library.

Additional Methods & Properties:

  • GetFirstConnectedDriverAndScanner - Get the first connected driver name and scanner model.
  • GetNextConnectedDriverAndScanner - Get the next connected driver name and scanner model.
  • Select - now has an optional parameter to have a modal dialog.
  • SelectConnected - Shows a dialog box for only connected scanners, with an optional parameter for a modal dialog.
  • DriverDirectory - Controls the location of the ISIS driver files.
  • DriverDirectoryDefault - The default location of the ISIS driver files.

Primary Features Include:

Scanner Support

  • Provides complete control over all high-speed ISIS®-driven scanners that EMC Corporation's ISIS PixTools supports
  • Scan directly to memory
  • Resolution can range from 50 dots-per-inch (dpi) to 2400 dpi or more depending on scanner capability
  • Automatic feeder, printer/endorsers, and transparency units are supported
  • Interfaces with SCSI, USB, serial port, video, parallel port, GPIB, and proprietary interfaces
  • Access performance scanners from Canon, Agfa, BancTec, Bell & Howell, Epson, Fujitsu, Hewlett-Packard, Inotec, Kodak, Microtek, Minolta, Panasonic, Ricoh, Sharp, and Umax

Compression & File Formats

  • Compress to standard document image file formats
    • TIFF (Raw, Packbits, Binary CCITT Group 3, Binary CCITT Group 3 Modified, Binary CCITT Group 4)
    • Color and grayscale JPEG (24-bit sequential and 8-bit gray sequential)
    • DCX
  • Add on ImagXpress for decompression, conversion, or display of the file formats listed above plus support for many additional file formats.
  • Add on PDFXpress for PDF support.

Advanced Tags

The component will support Advanced Tags, which offers developers great flexibility in utilizing scanner specific features. These are scanner processing instructions which are provided as parameters passed as tag values to the control, and consequently passed directly through to the scanner. Assuming the correct tags are passed to the scanner, they will instruct the scanner what actions to take.

Multi-Streaming Support

  • Take full advantage of scanners supporting MultiStream technology with Duplex or Multi-Streaming
    • Duplex - Scans both front and back simultaneously
    • MultiStreaming - Scans two images from the same side
    • Combine both by using duplex with multi-streaming and capture four images with two on the front and two from the back.
  • Scanning modes could include full-color, black-and-white, grayscale, binary or RGB color dropout

Image Viewing, Annotation, & Printing

Add on ImagXpress for image viewing, thumbnail image support, document image processing and editing, TWAIN scanning, annotation, printing and more.

Bitonal Image Cleanup

Add on ScanFix Xpress for advanced bitonal image cleanup technology such as dot shading removal, line removal, character smoothing, inverse text correction, hole punch removal, deskew, despeckle, rotate, mirror, flip and more.

Additional Accusoft Pegasus Components

Additional components are available for purchase separately, and integrate easily to provide a comprehensive imaging solution:

  • PDF Xpress™ – PDF creation, viewing, and annotating
  • OCR Xpress™ – full page OCR
  • Barcode Xpress™ – recognize barcodes
  • ScanFix Xpress™ – advanced image cleanup
  • FormFix™ – form ID, dropout, and OMR
  • SmartZone™ ICR / OCR – character recognition
  • ImageGear for .NET - Fully managed code to create cutting edge imaging applications
  • ImageGear for Silverlight - Comprehensive SDK for building Web imaging applications
  • ImageGear for .NET Compact Framework - Create reliable and secure imaging applications for mobile devices

See www.accusoft.com for product packaging and sales information.

See Also

Getting Support
Software License Agreement
Operating Requirements

©2010. Pegasus Imaging Corporation, DBA Accusoft Pegasus. All Rights Reserved.


Getting Support
See Also Send Feedback |
Introduction > Getting Support

Glossary Item Box

Getting Support

Benefits of Registering your Development Kit

Purchasers of development kits need to register with Accusoft Pegasus in order to be notified of updates and receive support now or in the future. Registration is automatic when purchased directly from the Accusoft Pegasus web site. If purchased through an Accusoft Pegasus re-seller, please register your purchase by filling out the form at www.accusoft.com/registration.htm.

Vehicles for Support

Samples

Samples are included in the downloaded installation.

The product installation program installs a common sample folder accessible via the Start Menu.

Samples for the ActiveX framework:

  • ActiveX/Visual Basic 6
  • ActiveX/C++

Access the Samples

  • Through the Windows Start menu: Start | Programs | Accusoft | ISIS Xpress | Samples
  • Sample image files included

Web Support

Visit the Accusoft Pegasus web site frequently asked questions page ( www.accusoft.com/faq.htm ) for the fastest answers to common questions. The web site also provides other support options that are accessible at www.accusoft.com/supportagree.htm.

E-mail Support

Both pre-sale and post-sale e-mail support is offered free of charge. Questions are answered on a First-Come-First-Served basis. Support@JPG.com responds instantly to e-mail received with a helpful set of locations to find additional information on Accusoft Pegasus products including FAQ's, sample code, and other current information pertaining to the use of the products. The support request is then added to the queue of outstanding requests. The goal of the support team to respond to each e-mail within 1 business day.

The sales team is always available as a backup to the support team. If you feel you have an urgent support or sales issue please contact Sales@JPG.com. They will assist you promptly.

On-Demand Phone Support

On-demand priority phone support can be purchased in 15 minute increments with a credit card via the Accusoft Pegasus web site Support, General Info page. If you decide to purchase "on-demand" phone support, instructions will immediately be e-mailed upon receipt of your purchase.

Additionally, Accusoft Pegasus offers three support plans for those customers whose commercial products or projects are sensitive or critical in nature, where immediate response and 'latest release' code are important.

1. Chariot Support

All Accusoft Pegasus customers are given the opportunity to purchase a Chariot Support agreement. This is a maintenance and upgrade agreement that entitles customers to priority e-mail service, direct phone support from the support and development staff and free product upgrades for the covered products. Since upgrades are included for Chariot customers at no additional charge, Chariot customers can frequently save money, plus obtain the benefits of phone and expedited support. Accusoft Pegasus reserves the right to change the terms of this service at any renewal period. Contact Sales via the web at www.accusoft.com/contactform.htm for more information.

2. Galleon Support

Customers are given the opportunity to purchase Galleon Support for Accusoft Pegasus products that are applications and for products that require run time licensing. Galleon Support includes licensing of product upgrades for deployed installations at no additional license fee cost. Accusoft Pegasus reserves the right to change the terms of this service at any renewal period. Contact Sales via the web at www.accusoft.com/contactform.htm for more information.

3. Atlas Support

All Accusoft Pegasus customers are given the opportunity to purchase an Atlas Support agreement on currently supported products. This is an agreement that entitles customers to priority e-mail service and direct phone support from the support and development staff. It differs from Chariot Support in that it does not include version upgrades free of charge. Accusoft Pegasus reserves the right to change the terms of this service at any renewal period. Contact Sales via the web at www.accusoft.com/contactform.htm for more information.

For the latest and most up-to-date support information, access www.accusoft.com/contact.htm.

See Also

Operating Requirements
Trial Mode
Installing on a Development Machine


Pegasus Imaging Corporation, DBA Accusoft Pegasus

Accusoft.ISISXpress4.ActiveX | Accusoft Pegasus
Pegasus Imaging Corporation, DBA Accusoft Pegasus
See Also Send Feedback |
Introduction > Pegasus Imaging Corporation, DBA Accusoft Pegasus

Glossary Item Box

Accusoft Pegasus is the largest single source provider of imaging software development kits (SDKs) and image viewers. Features include barcode, compression, DICOM, editing, forms processing, OCR, PDF, scanning, video, and viewing. Technology is delivered for multiple platforms and development environments.

Whether you’re building new applications or enhancing existing workflows, Accusoft Pegasus Software Development Kits (SDKs) get you there faster. Our mission is to help you seamlessly and quickly integrate superior imaging functionality into your application. We provide very generous support from our software engineers, unlimited downloads and trial licensing that won’t time out, and full access to all product features prior to purchase. When you need imaging, we’ve got your code.

Visit www.accusoft.com for product descriptions, downloads, demos, support FAQ's, and licensing information.

Accusoft Pegasus
4001 North Riverside Drive
Tampa, FL 33603
Sales: 813-875-7575

Copyrights & Trademarks

Accusoft, ColorDrop, ColorEnhance, ColorFind, ColorForms, CompressDirector, Digital Mark Recognition (DMR), FormFix, Image Detergent, ImageGear, ImagXpress, NetVue, ScanFix, Pegasus, Prizm, ViewDirector, Virtual Scoring Center (VSC), and the Pegasus Horse Logo are registered marks (®) of Pegasus Imaging Corporation, DBA Accusoft Pegasus.

Barcode Xpress, CapturePRO, FilePrinter, FormAssist, FormDirector, FormSuite, ISIS Xpress, The JPEG Wizard, MICR Xpress MedXpress, NotateXpress, OCR Xpress, PDF Xpress, PICTools, ePIC, PICVideo, PrintPRO, SmartScan Xpress, SmartZone, ThumbnailXpress, TwainPRO and the Accusoft Pegasus Logo, are trademarks (™) of Accusoft Pegasus.

Accusoft Pegasus and/or its agents use these marks and brand names in connection with its goods and/or services, in the United States and other countries. Information in this document is subject to change without notice. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Accusoft Pegasus.

Microsoft, Internet Explorer, Microsoft.NET, Silverlight, Visual Basic, Visual Studio and Visual Studio.NET are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Itanium is a registered trademark of Intel Corporation in the United States and other countries. All other product and brand names are the property of their respective owners.

See Also

Software License Agreement


Operating Requirements
See Also Send Feedback |
Getting Started > Operating Requirements

Glossary Item Box

Operating Requirements

Operating Systems

ISIS® Xpress™ runs on supported Microsoft Operating Systems:

  • Windows 2000
  • Windows XP, XP Professional
  • Windows Vista
  • Windows 7
  • Windows Server 2000
  • Windows Server 2003
  • Windows Server 2008
ISIS Xpress runs in 64-bit and 32-bit executables.

Development Environment

ISIS Xpress is supported on most ActiveX development environments including the following:

  • Microsoft Visual Basic 6
  • Microsoft Visual C++ 6
  • Delphi 7 and 8

See Also

Getting Support
Installing on a Development Machine
Run Time Licensing


Installing on a Development Machine
See Also Send Feedback |
Getting Started > Installing on a Development Machine

Glossary Item Box

Installing on a Development Machine

To Install ISIS® Xpress™ Component

Run the downloaded setup program which installs the development kit on your development machine.

The downloaded development kit includes code samples for supported platforms. Samples are available through: Start | Programs | Accusoft | ISISXpress menu.

By default this will register trial licensing which allows you to develop applications but not to distribute them. The trial license allows testing of all the functions and features.

Please see the section Distributing ISIS Xpress to understand the limits and details to convert licensing editions.

In order to distribute your finished application you must purchase and install a fully paid license from Accusoft Pegasus. The paid licenses override trial licenses.

To Use ISIS Xpress Help Files

Stand-Alone Help File

You will have access to the following stand-alone help file:

  • Accusoft.ISISXpress4.ActiveX.chm

Access the ISIS Xpress stand-alone help through the Windows Start menu: Start | Programs | Accusoft | ISISXpress

The stand-alone file is created with MS Help system version 1. To view stand-alone help files, you must have:

  • Windows 2000 or higher (to view the file via the Windows HTML Help Viewer)
  • Internet Explorer 6.0 or higher
  • MS HTML Help Viewer

See Also

Operating Requirements
Run Time Licensing
Development Mode
Software License Agreement
Distributing ISIS Xpress


Import ISIS Xpress as a COM Object

Accusoft.ISISXpress4.ActiveX | Accusoft Pegasus
Import ISIS Xpress as a COM Object
Send Feedback |
Getting Started > Import ISIS Xpress as a COM Object

Glossary Item Box

Import ISIS® Xpress™ as a COM Object

1. Importing a Control into Visual C++

The #import directive line can be added to the stdafx.h file to provide the appropriate functionality to all source files in the project.

C++ Example Copy Code
// This code demonstrates the #import directive used in the stdafx.h file
#if !defined(AFX_STDAFX_H__E86B75CA_B4A0_11D3_9453_00105A098C21__INCLUDED_)
#define AFX_STDAFX_H__E86B75CA_B4A0_11D3_9453_00105A098C21__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers

#include <AFXWIN.H> // MFC core and standard components
#include <AFXEXT.H> // MFC extensions
#include <AFXDISP.H> // MFC OLE automation classes
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <AFXCMN.H> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT

//#import the ISISXpress4 DLL here
#import "Accusoft.ISISXpress4.ActiveX.dll"

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_STDAFX_H__E86B75CA_B4A0_11D3_9453_00105A098C21__INCLUDED_)
The #import directive simply points to the ISIS Xpress control. When the ISIS Xpress control is imported with the #import directive, the compiler produces 2 files – a .tli and a .tlh file – that together create the necessary COM wrapper for the control’s properties and methods. Since the directive is in your stdafx.h file, the wrappers are immediately available to your other modules. The wrapper code defines COM smart pointers to your .IDL-defined interfaces. To use this COM object, you simply create an instance of the interface you want and then call methods directly by using this instance pointer.

2. Declare a Pointer to the COM Object

After the #import directive is added, a pointer to the ISIS Xpress COM object must be defined. In the ISISXpressBasic project, the pointer is called pISISXpr and it is implemented in the ISISXpressBasicDlg.h file as follows:
C++ Example Copy Code
#if !defined(AFX_ISISXPRESSBASICDLG_H__E86B75C8_B4A0_11D3_9453_00105A098C21__INCLUDED_)
#define AFX_ISISXPRESSBASICDLG_H__E86B75C8_B4A0_11D3_9453_00105A098C21__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

// add the ISISXpress namespace here
using namespace AccusoftISISXpress4;

#include "..\\..\\..\\..\\Components\\ActiveX-COM\\Include\\ISISXpress4Events.h"

/////////////////////////////////////////////////////////////////////////////
// CIsisXpressBasicDlg dialog

class CIsisXpressBasicDlg : public CDialog
{
// Event Handler Prototypes
static HRESULT FeederEmpty(DWORD instancePtr, DWORD objID, long PageNumber, VARIANT_BOOL StopScan);
static HRESULT Progress(DWORD instancePtr, DWORD objID, long Percent);
static HRESULT Scanning(DWORD instancePtr, DWORD objID, long PageNumber);
static HRESULT Scanned(DWORD instancePtr, DWORD objID, long PageNumber);

// Construction
public:
CIsisXpressBasicDlg (CWnd* pParent = NULL); // standard constructor

CISISXpress *ppCISISXpress; // Pointer to the CISISXpress class
IISISXpressPtr pISISXpr; // Pointer to the ISISXpress COM object
The ISISXpress4Events.h file contains the CISISXpress class. The CISISXpress class is used to create a ISIS Xpress COM object and it also sets up the event-handling interface. The event handler prototypes shown above must only be implemented for the events used in the application. The ISISXpressBasic project uses all of the events. Implementation of these events is covered later in this discussion.

3. Initialize COM

The COM library must be initialized before COM functions can be called and it must be closed before the program exits. This is illustrated in the ISISXpressBasic.cpp file as follows:

C++ Example Copy Code
BOOL CISISXpressBasic::InitInstance()
{
// Initialize the COM library on the current apartment and identify
// the currency model as single-thread apartment (STA). Applications
// must initialize the COM
// library before they can call COM library functions other than
// CoGetMalloc and memory allocation functions.
CoInitialize(NULL);

AfxEnableControlContainer();

// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.

#ifdef _AFXDLL
Enable3dControls() // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif

CIsisXpressBasicDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse = = IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}

// Closes the COM library on the current apartment,
// unloads all DLLs loaded by apartment,
// frees any other resources that the apartment maintains, and
// forces all RPC connections on the apartment to close.
CoUninitialize();

// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}

4. Create the ISIS Xpress COM Object

To use ISIS Xpress, an instance of the ISIS Xpress COM object must be created. After the object is created, the object’s properties and methods can be used to create your scanning application. In the ISISXpressBasic project, the COM object is created in the ISISXpressBasicDlg.cpp file as follows:

C++ Example Copy Code
// The following typedef is required by ISISX3_Open.cpp unless you include
// the ISISX3_Open.h file.
typedef HRESULT (WINAPI* LPFNDLL_PSUnlock)(long, long, long, long);
// Before you distribute applications that use the ISIS Xpress COM object, you need to edit
// the ISISX2_Open.cpp file and change the integrator key passed to the PS_Unlock function.
// The integrator key is obtained from Accusoft Pegasus.
// Include the ISIS Xpress COM initialization routines
#include "..\\..\\..\\..\\Components\\ActiveX-COM\\Include\\ISISX3_Open.cpp"
BOOL CIsisXpressBasicDlg ::OnInitDialog()
{
char tempStr[100];

CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}

// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

// Initialize ISISXpress. You must call ISISX_Open before creating the first ISISXpress COM object
HINSTANCE hDLL = ISISX_Open();

// Create a ISISXpress class object. The ISISXpress class object
// automatically creates a ISISXpress COM object.
ppCISISXpress = new CISISXpress((DWORD)this, 1);
// The second parameter (1) represents the ID of the ScanXpress COM
// object. This ID is used to determine which COM object caused an
// event when more than one ScanXpress COM objects are used in an application.

// Get the pointer to the created ISISXpress COM object. This is the pointer that
// you will use to access ISISXpress properties and methods.
pISISXpr = ppCISISXpress->pISISXpress;

pISISXpr->UnlockRuntime(1234,1234,1234,1234);

// Initialize the ISISXpress event handlers
if (ppCISISXpress)
{
ppCISISXpress->SetFeederEmptyEvent(FeederEmpty);
ppCISISXpress->SetProgressEvent(Progress);
ppCISISXpress->SetScanningEvent(Scanning);
ppCISISXpress->SetScannedEvent(Scanned);
}

//****Close the ISISXpress initialization. You must call this AFTER creating the first ISISXpress COM object
ISISX_Close(hDLL);

5. Implement the Event Handlers

An event handler must be implemented for every ISIS Xpress event used in your application. The ISISXpressBasic application uses the FeederEmpty, Progress, Scanning and Scanned events. The implementation of the Scanned event is shown below:

C++ Example Copy Code
HRESULT CIsisXpressBasicDlg::Scanned(DWORD instancePtr, DWORD objID, long PageNumber)
{
long nElapsedSec;
double nPagesPerMin;
time_t nStopTime;
char tempStr[100];
long hDIB;

// Get a pointer to the current application
CIsisXpressBasicDlg *p = (CIsisXpressBasicDlg *) instancePtr;

// Get the current time
time(&nStopTime);
// Determine how long it took to scan
nElapsedSec = nStopTime - gStartTime;
if (nElapsedSec == 0) nElapsedSec = 1;

// Determine the pages per minute
nPagesPerMin = (gNumPages * 60) / nElapsedSec;
sprintf(tempStr, "%3.2f", nPagesPerMin);

// Display the pages per minute
p->SetDlgItemText(IDC_LBL_PAGESPERMIN, tempStr);

// Display the scanned image
if (p->pISISXpr->CreateDib)
{
hDIB = p->pISISXpr->hDib;
p->DisplayDib(hDIB);
}

return S_OK;
}

The objID parameter passed into the event functions can be used to determine what COM object caused the event. The following code illustrates this:

C++ Example Copy Code
CIsisXpressBasicDlg *p = (CIsisXpressBasicDlg *) instancePtr;
if (objID == p->ppISISXpressBasic->m_objID)
{
// We know that the ppISISXpressBasic object caused the event
}

6. Use the ISIS Xpress COM Object to Set Properties and Call Methods

After an instance of the ISIS Xpress COM object is created, the object can be used to set ISIS Xpress properties and call ISIS® Xpress methods. In the ISISXpressBasic project, this is illustrated in the OnCmdScansingle function shown below. This function is called when the user clicks the Scan Single button.

C++ Example Copy Code
void CIsisXpressBasicDlg::OnCmdScansingle()
{
::SetWindowPos((HWND)m_ix.GetHWnd(), HWND_TOP, 0, 0, rImg.right, rImg.bottom, SWP_NOMOVE | SWP_SHOWWINDOW);

try
{
// Update the controls in the application
if (UpdatePrgm() == FALSE) return;

// Enable/Disable command buttons
::EnableWindow(::GetDlgItem(m_hWnd, IDC_CMD_SCANBATCH), FALSE);
::EnableWindow(::GetDlgItem(m_hWnd, IDC_CMD_SCANSINGLE), FALSE);
::EnableWindow(::GetDlgItem(m_hWnd, IDC_CMD_CANCEL), TRUE);
SetDlgItemText(IDC_LBL_PAGESPERMIN, "0.00");

// Call the ScanSingle method in the ISIS®Xpress COM object
pISISXpr->ScanSingle();

// Reset the progress control
SendDlgItemMessage(IDC_PB, PBM_SETPOS, 0, 0);

::EnableWindow(::GetDlgItem(m_hWnd, IDC_CMD_SCANBATCH), TRUE);
::EnableWindow(::GetDlgItem(m_hWnd, IDC_CMD_SCANSINGLE), TRUE);
::EnableWindow(::GetDlgItem(m_hWnd, IDC_CMD_CANCEL), FALSE);
}
catch(_com_error &e)
{
// Handle any exceptions caused by the ISIS®Xpress object
::EnableWindow(::GetDlgItem(m_hWnd, IDC_CMD_SCANBATCH), TRUE);
::EnableWindow(::GetDlgItem(m_hWnd, IDC_CMD_SCANSINGLE), TRUE);
::EnableWindow(::GetDlgItem(m_hWnd, IDC_CMD_CANCEL), FALSE); HandleError( e );
}
}

7. Delete the ISIS Xpress COM Object

The ISIS Xpress COM object must be deleted when it is no longer needed. The ISIS Xpress COM object is usually deleted before the application exits. In the ISISXpressBasic project, the COM object is deleted in the ISISXpressBasicDlg.cpp file as follows:

C++ Example Copy Code
void CIsisXpressBasicDlg::OnDestroy()
{
CDialog::OnDestroy();

// Clean up the ISISXpress COM object
pISISXpr = NULL;

if (ppCISISXpress)
delete ppCISISXpress;
}


Use ISIS Xpress as an ActiveX Control

Accusoft.ISISXpress4.ActiveX | Accusoft Pegasus
Use ISIS Xpress as an ActiveX Control
Send Feedback |
Getting Started > Use ISIS Xpress as an ActiveX Control

Glossary Item Box

Use ISIS® Xpress™ as an ActiveX Control

ISIS Xpress can be used as an ATL COM ActiveX control in development environments, like Visual Basic, that accept ActiveX controls. The following discussion assumes that your development environment is Visual Basic.

Creating an Application with Visual Basic and ISIS Xpress

  1. Adding the ISIS Xpress control to a project.
  2. Using the ISIS Xpress control on a form.
  3. Writing code that controls the ISIS Xpress properties and methods.

Loading the ISIS Xpress Control Involves Adding it to a Project

  1. Open the project that will use the ISIS Xpress control. This can be a new or existing project.
  2. From the Project menu, choose Components. The Control window appears with a list of available controls.
  3. Select the Accusoft Pegasus control (i.e. ISISXpress). Click the OK button.

Other Environments

The ISIS Xpress control is supported by a variety of host environments. To use ISIS Xpress in other environments, consult the development tool's documentation for information on how to use ActiveX controls. As soon as the control is loaded, the following things happen:
  1. The control becomes part of the current project.
  2. A new tool is added to the Toolbox. This tool is used to draw the ISIS Xpress control on the form.
The new control can now be used as if it were a standard control. The ISIS Xpress control has its own set of properties and methods which can be seen by using the Properties and Code windows.


Upgrading from ISIS Xpress 3 to ISIS Xpress 4
Send Feedback
Getting Started > Upgrading from ISIS Xpress 3 to ISIS Xpress 4

Glossary Item Box

Upgrading from ISIS Xpress 3 to ISIS Xpress 4

This section is for describing how to upgrade from ISIS Xpress 3 to ISIS Xpress 4. While generally you’ll be able to replace ISIS Xpress 3 with ISIS Xpress 4, there are a few changes you may need to be aware of. This section is to inform you of those changes and hopefully make your porting experience more pleasant.

ISIS Xpress DLL name has changed. We did this to reflect our company’s new name and to provide a cleaner naming structure. The name has changed from PegasusImaging.ActiveX.ISISXpress3.dll to Accusoft. ISISXpress4.ActiveX.dll. It also makes it much easier to find in the insert ActiveX dialogs.

The library name has changed from PegasusImagingActiveXISISXpress3 to Accusoft ISISXpress4. For those few of you that need this, the GUID for the ISIS Xpress ActiveX control has changed in ISIS Xpress 3 from {1C705729-972E-4C6D-93DD-9FBEFAD4A72F} to the new value in ISIS Xpress 4 of {4C55B887-6097-4F86-B9C4-280B8CF76E6C}. The ProgID has changed from ‘PegasusImaging.ActiveX.ISISXpress.3’ to ‘Accusoft.ISISXpress.4’ in ISIS Xpress 4. In fact, for C++ developers we recommend that you change from doing a

#import <Pegasusimaging.ActiveX.ISISXpress3.dll>

to

#import “progid:Accusoft.ISIS Xpress.4”

See ISIS Xpress’s new C++ samples for an example of this.

Removed Properties/Methods

We have removed some deprecated functions. While it may mean a coding change for you, we hope in the long run it is for a better experience. We try not to allow vestigial methods and properties exist as the ISIS Xpress API is large enough.

The ErrorNumber property has been replaced with ErrorCode. This allows for a seamless transition between multiple Accusoft Pegasus controls.

The ErrorLevel property has been replaced with DebugErrorLevel. This allows for a seamless transition between multiple Accusoft Pegasus controls.

Changes and New Properties/Methods/Events

In addition to these potentially code changes that you may have to make, we having introduced some new methods and properties, and changed a methods. We have also changed the distribution files.

The base ISIS distribution files have changed. Please review the files that are supposed to be placed in “SysDir”.

The Select method has added an optional parameter hWnd. When the hWnd is passed in the dialog will be modal.

The GetFirstConnectedDriverAndScanner, GetNextConnectedDriverAndScanner, and SelectConnected methods now allow the application to only show scanners/drivers that are physically connected and turned on to the user. These are dependent on support with the driver itself.

The DriverDirectory and DriverDirectoryDefault properties allow the application to move the directory holding the driver outside of the previously mandated directory.

If you run into any other porting issues, please contact support@accusoft.com and we’ll be glad to assist you.


Trial Mode
See Also Send Feedback |
Licensing > Trial Mode

Glossary Item Box

Trial Mode

Default Installation

The default installation installs Trial Mode licensing. This allows you to test features and functions and develop applications but not distribute them. Installing ISIS® Xpress™ in trial mode provides you with access to all features and functionality of the ISIS Xpress product. E-mail support is available with the trial license.

When using the trial version of ISIS Xpress, an evaluation dialog box displays periodically. Applications built with a trial license can only be run on a computer that has ISIS Xpress Licensing installed on it.

Changing Trial Mode Behavior

You have the flexibility to change the behavior of ISIS Xpress in evaluation mode as follows:

  • To facilitate server/service mode evaluations, you can choose to halt the component processing after 5 minutes in lieu of displaying an evaluation dialog box periodically. This is the TimeOut setting for the EvaluationMode property.

See Also

Development Mode
Run Time Licensing
Software License Agreement
Getting Support


Development Mode
See Also Send Feedback |
Licensing > Development Mode

Glossary Item Box

Development Mode

To suppress the evaluation dialog box and deploy your application, or attain technical support (beyond e-mail), as well as future product updates and upgrade notifications, you must update from a trial version to a paid version of the ISIS® Xpress™ development kit.

1. Purchase Development Kit(s)

To purchase licensing of the ISIS Xpress development kit, use one of the following options:

  • Purchase online at www.accusoft.com.
  • Contact Sales via the web at www.accusoft.com/contactform.htm for more information.
  • Contact a Accusoft Pegasus reseller.

When the development kit is purchased, we e-mail a serial number & registration code to you. You need these codes to upgrade from trial to paid licensing.

2. Register the ISIS Xpress Product

When you purchase ISIS Xpress online or via Sales at www.accusoft.com/contactform.htm, your product ownership is automatically registered.

To register products purchased through a reseller, use the form found at www.accusoft.com/registration.htm.

If your registration information should change, visit www.accusoft.com/contact.htm for forms to update registration information.

3. Update Your ISIS Xpress Product Version from Trial to Paid Licensing

Updating your ISIS Xpress from trial to paid licensing will suppress the evaluation dialog box or timeout. This must be done for each component within the ISIS Xpress toolkit that you are using.

To Update Components from Trial to Paid Licensing:

  • Enter your new license codes using one of the following options:
    • Enter licensing information (serial number, registration code and personal registration information) during component installation while downloading the latest release from www.accusoft.com (the recommended approach).
    • Alternatively, licensing information (serial number, registration code and personal registration information) can be entered through the Visual Development Environment in response to the dialog display.

For more information on Runtime Licensing, see the Accusoft Pegasus website for more detailed information regarding Run Times and Deployment Licensing.

See Also

Trial Mode
Run Time Licensing
Software License Agreement
Getting Support


Run Time Licensing
See Also Send Feedback |
Licensing > Run Time Licensing

Glossary Item Box

Run Time Licensing

All copyrights to Accusoft Pegasus development kits and software are retained by Pegasus Imaging Corporation, DBA Accusoft Pegasus. ALL RIGHTS RESERVED. Your use of any of Accusoft Pegasus software or run-times created with Accusoft Pegasus software is allowed under license terms granted by Accusoft Pegasus. It is the Licensee's responsibility to honor the terms of such license grants.

Locking Mechanism

ISIS® Xpress™ contains a locking mechanism that does not permit you to distribute applications created with evaluation versions of ISIS Xpress. Prior to distributing an application that utilizes ISIS Xpress, you must purchase and enable run time licensing. If the application will be delivered on the web, you must also purchase and enable web application licensing.

Obtaining Appropriate Licensing

The Licensee is required to purchase one copy of our development kit(s) for each developer in addition to obtaining the appropriate license agreement prior to deploying applications which contain Accusoft Pegasus code.

Accusoft Pegasus software applications and development tools are limited for use on a single CPU. Any run times or copies created must be granted by a direct license from Accusoft Pegasus. These "end user" licenses provide the terms and limits of number and usage.

All prospective customers have every opportunity to evaluate Accusoft Pegasus' products prior to purchasing. Product licensing is priced to cover what is considered to be normal (and even high) use. In addition, Accusoft Pegasus fully supports and warrants its code and pricing reflects those costs as well. The larger and more valuable an application deployment is, the higher the support and warranty risk is for Accusoft Pegasus.

Review the licensing categories, and select the one that matches your deployment. Special circumstances should be discussed with a Accusoft Pegasus representative.

For more information on Run Time licensing, see the Accusoft Pegasus website for more detailed information regarding Run Times and Deployment Licensing.

See Also

www.accusoft.com
Getting Support
Development Mode
Software License Agreement
Distributing ISIS Xpress


Software License Agreement
See Also Send Feedback |
Licensing > Software License Agreement

Glossary Item Box

Software License Agreement

GRANT OF LICENSE

This Pegasus Imaging Corporation, DBA Accusoft Pegasus, ("ACCUSOFT") Agreement ("LICENSE") grants YOU ("LICENSEE") a non-exclusive and non-transferable right to use the trial mode version for evaluation of fitness only; or, to use a properly registered ACCUSOFT Development Toolkit ("TOOLKIT"), for development purposes on any single computer, provided the TOOLKIT is in use on only one computer at any time. (Additional TOOLKIT licenses may, however, be purchased.) TOOLKIT is "in-use" on a computer when it loads into temporary memory (that is, RAM) or installed into the permanent memory (that is, hard disk, CD-ROM, or other storage device) of that computer. The TOOLKIT is not to be used on a site-wide basis, via a server or other networked connection.

REDISTRIBUTION OF THE TOOLKIT RUNTIMES

ACCUSOFT does not grant LICENSEE any rights to deploy, license, sell or otherwise distribute runtime licenses with the TOOLKIT. For Runtime Licensing information, please visit our web site (www.accusoft.com/licensing.htm), or contact our sales staff. LICENSEE agrees to notify ACCUSOFT immediately of any violations or changes in status.

In the event that ACCUSOFT grants LICENSEE a right to use, reproduce, display or otherwise distribute or transfer copies of TOOLKIT runtimes, LICENSEE agrees to acknowledge and uphold the terms and conditions of this Agreement as well as the terms of the LICENSE GRANT document itself, which will be provided (only) in writing. In such events, LICENSEE may distribute TOOLKIT runtimes as part of the LICENSEE's software application or derivative works ("PRODUCT") upon agreeing to the following:

a) LICENSEE’s PRODUCT shall not compete to any degree with the TOOLKIT. Such competitive PRODUCTS are defined as imaging software development toolkits intended for use by application programmers and/or system integrators.

b) LICENSEE’s PRODUCT must be substantially greater in scope with greater functionality and features than those of the TOOLKIT.

c) LICENSEE will not use ACCUSOFT's name, logo, or trademarks to market PRODUCT without prior written approval of ACCUSOFT.

d) LICENSEE agrees to indemnify, hold harmless and defend ACCUSOFT from and against any claims or lawsuits, including attorney's fees, which arise or result from the use or distribution of PRODUCT.

e) LICENSEE agrees to only distribute the TOOLKIT runtimes. No license or other rights are granted to LICENSEE for any distribution of the TOOLKIT development kit, documentation, source code, or the distribution unlock codes.

f) LICENSEE will only distribute the TOOLKIT runtimes on the hardware and operating system(s) for which the TOOLKIT runtimes are intended to be used.

g) LICENSEE will include a statement substantially similar to the following within derivative work's documentation and about box: "This product contains portions of imaging code owned by Pegasus Imaging Corporation, Tampa, FL, (www.accusoft.com). ALL RIGHTS RESERVED."

If ANY of the above terms are not applicable to LICENSEE'S situation, any of the above cannot be complied with, or LICENSEE needs modifications to this license for any reason, LICENSEE shall contact ACCUSOFT about obtain an expanded direct license from ACCUSOFT for derivative works, (available by phone at: 813-875-7575, x321, by e-mail at: Sales@accusoft.com or by fax at: 813-875-7705).

In the event that LICENSEE distributes one or more unlicensed TOOLKIT runtimes, ACCUSOFT reserves the right to charge the LICENSEE up to ten times the normal license price for each unlicensed copy of PRODUCT. LICENSEE agrees and acknowledges that this pricing shall be deemed liquidated damages for such unlicensed distribution and not a penalty.

This license grants rights to LICENSEE for only the ACCUSOFT code (TOOLKIT) mentioned above and does not convey any other rights of use or distribution to ACCUSOFT technology.

INTELLECTUAL PROPERTY

LICENSEE recognizes and acknowledges the exclusive right of ACCUSOFT in and to all patents, trademarks, service marks, trade names, copyrights, and other intellectual property and proprietary rights in and to the TOOLKIT, and that such patents, trademarks, service marks, trade names, copyrights, and other intellectual property and proprietary rights are the sole and exclusive property of ACCUSOFT and protected by United States law and by international treaties.

LICENSEE may not remove or alter the copyright notice from any copy of the Software or any copy of the written materials, accompanying the Software.

LICENSEE waives its right to contest any of ACCUSOFT’s patents, trademarks, service marks, trade names, copyrights, and other intellectual property and proprietary rights in and to the TOOLKIT.

LICENSEE shall not use such trademarks, service marks, and trade names except where permitted under this Agreement without receiving ACCUSOFT’s prior written approval of such use. If such approval is granted, LICENSEE’s right to use such trademarks, service marks, and trade names shall end upon the termination of this Agreement.

OTHER RESTRICTIONS

This ACCUSOFT License Agreement is LICENSEE's proof of license to exercise the rights granted herein and must be retained by LICENSEE.

LICENSEE may not rent, lease or transfer TOOLKIT or parts thereof. LICENSEE may not alter, modify, reverse engineer, decompile or disassemble TOOLKIT in any way or manner.

NO WARRANTY

ANY USE BY LICENSEE OF THE SOFTWARE IS AT THE LICENSEE'S OWN RISK. THE SOFTWARE IS PROVIDED FOR USE "AS IS" WITHOUT WARRANTY OF ANY KIND. TO THE MAXIMUM EXTENT PERMITTED BY LAW, ACCUSOFT DISCLAIMS ALL WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, PERFORMANCE RESULTS AND NONINFRINGEMENT. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE TOOLKIT IS WITH LICENSEE. ACCUSOFT IS NOT OBLIGATED TO PROVIDE ANY UPDATES TO THE SOFTWARE.

NO LIABILITY FOR DAMAGES

In no event shall ACCUSOFT be liable for any damages whatsoever (including, without limitation, incidental, special, direct, indirect and consequential damages, damages for loss of business profits, lost savings, business interruption, loss of business information, or other pecuniary loss) arising out of the use or inability to use this ACCUSOFT product, even if ACCUSOFT has been advised of the possibility of such damages. Because some states/countries do not allow the exclusion or limitation of liability for consequential, incidental or special damages, the above limitation may not apply to LICENSEE. In such states/countries and to the extent possible, any warranty is limited to thirty (30) days.

INDEMNIFICATION BY LICENSEE

If LICENSEE distributes TOOLKIT in violation of this Agreement, LICENSEE agrees to indemnify, hold harmless and defend ACCUSOFT and its suppliers from and against any claims or lawsuits, including attorney's fees that arise or result from the use or distribution of TOOLKIT in violation of this Agreement.

TERM AND TERMINATION

Unless otherwise agreed to by the parties, this Agreement shall become effective upon LICENSEE’s installation of the TOOLKIT and shall continue in full force and effect until terminated in accordance with the terms set forth in this Agreement.

Any material breach of this Agreement shall automatically and immediately terminate this Agreement. In the event that LICENSEE ceases to do business or is adjudged bankrupt or insolvent, ACCUSOFT may, at its sole option, terminate this Agreement, by giving ten (10) Business Days written notice of such termination, which notice shall identify and describe the basis for such termination.

In the event of any termination of this Agreement, LICENSEE shall stop using the TOOLKIT, manufacturing the PRODUCT and, if such distribution rights were granted by ACCUSOFT, distributing the PRODUCT containing the TOOLKIT runtime licenses. LICENSEE shall also require its resellers, OEMs, and other distribution channels (if any) to likewise stop manufacturing and Distributing the PRODUCT. Within ten (10) Business Days thereafter, LICENSEE shall return or, at ACCUSOFT’s option, destroy the TOOLKIT and all copies in whole or in part thereof, whether or not incorporated in or with the PRODUCT, and within LICENSEE's possession, custody and control, and shall certify to ACCUSOFT in writing within ten (10) Business Days thereafter that it has complied with the foregoing obligation.

The portions entitled Intellectual Property, No Warranty, No Liability for Damages, Indemnification by Licensee, and Miscellaneous shall continue in full force and effect, notwithstanding any such termination of this Agreement.

MISCELLANEOUS

This Agreement constitutes the entire understanding and agreement between ACCUSOFT and LICENSEE regarding its subject matter, and supercedes all previous oral and written communications, agreements, memoranda, representations, or understandings between ACCUSOFT and LICENSEE regarding this Agreement. No other rights or licenses are granted to LICENSEE, except as expressly provided herein.

This Agreement shall not be amended, altered, changed or modified in any way, unless agreed to in writing by both ACCUSOFT and LICENSEE. Such writing must be executed by a duly authorized representative of ACCUSOFT and a duly authorized representative of LICENSEE.

This Agreement is not transferable or assignable by LICENSEE under any circumstances, without the prior written consent of ACCUSOFT. ACCUSOFT will not unreasonably withhold such consent. This agreement shall be binding upon, and is made for the benefit of, each party, its successors, and permitted assignees (if any). For the purposes of this Agreement, any change in control of LICENSEE shall constitute an assignment or transfer of this Agreement. As used in this section, a change in control is defined as (i) any change in ownership of more than fifty percent (50%) of the voting interest in LICENSEE, whether by merger, purchase, foreclosure of a security interest or other transaction, or (ii) a sale of all or substantially all of the assets of LICENSEE.

The relationship established by this Agreement between LICENSEE and ACCUSOFT shall be that of Licensor and Licensee. Nothing contained in this Agreement shall be construed as creating a relationship of agency, joint venture or partnership between LICENSEE and ACCUSOFT. Neither party shall have any right whatsoever to incur any liabilities or obligations on behalf of the other party.

The laws of the State of Florida shall govern this Agreement, excluding that body of law known as conflict of laws and the United Nations Convention on Contracts for the Sale of Goods. Any action or proceeding brought by either party against the other arising out of, or related to, this Agreement shall be brought only in a state or federal court of competent jurisdiction located in the State of Florida and the parties hereby consent to the personal jurisdiction of said courts.

The program and data contained in this TOOLKIT Product are provided with Restricted Rights. Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in FAR 52.227-14 (Alternate III) or subparagraph (c)(1)(II) of the rights in technical data and computer software clause at 252.227-7013. Manufacturer is Pegasus Imaging Corporation, 4001 Riverside Drive, Tampa, FL, USA 33603.

In the event that any provision of this Agreement is found invalid or unenforceable pursuant to a judicial decree or decision, the remainder of this Agreement shall remain valid and enforceable according to its terms.
ACCUSOFT’s failure to perform any term or condition of this Agreement as a result of conditions beyond its control such as, but not limited to, war, strikes, fires, floods, acts of God, governmental restrictions, power failures, or damage or destruction of any network facilities or servers, shall not be deemed a breach of this Agreement.

In the event of suit or any legal action due to any breach of this Agreement is commenced to enforce this Agreement or otherwise relating to this Agreement, the prevailing party shall be entitled to all attorneys’ fees and costs incurred in connection therewith.

The headings provided in this Agreement are for convenience and reference purposes only. In the event of a conflict between the terms and conditions listed in this Agreement, and the attached Schedules, the terms and conditions shall govern.

A waiver of a breach, violation, or default under this Agreement shall not be a waiver of any subsequent breach, violation or default. Failure of either party to enforce compliance with any term or condition of this Agreement shall not constitute a waiver of such term or condition.

All notices and communications shall be in writing and shall be deemed to have been duly given when delivered or three (3) Business Days after mailing by certified mail, return receipt requested, postage prepaid, addressed to the parties at their respective addresses set forth on the Order Form or at such other addresses as the parties may designate by written notice in accordance with this section.

For questions concerning this Agreement, or to contact ACCUSOFT for any reason, please contact Pegasus Imaging Corporation by phone at 1-813-875-7575 x321 or email Sales@accusoft.com.

Additional Terms and Conditions Applicable to ISIS Technology

ISIS TECHNOLOGY

The ISIS functionality in the TOOLKIT is licensed to PEGASUS from Captiva Software, a division of EMC, Inc. The term “TOOLKIT” as defined in the Agreement includes technology from Captiva and related documentation, and any upgrades, modified versions, updates, additions, and copies thereof.

LIMITED WARRANTY

THE TERMS OF THIS AGREEMENT STATE THE SOLE AND EXCLUSIVE REMEDIES FOR PEGASUS’ BREACH OF WARRANTY. EXCEPT FOR THE FOREGOING LIMITED WARRANTY, CAPTIVA AND ITS SUPPLIERS MAKE NO WARRANTY, EXPRESS OR IMPLIED, AS TO MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT WILL CAPTIVA OR ITS SUPPLIERS BE LIABLE TO LICENSEE FOR ANY CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING ANY LOST PROFITS OR LOST SAVINGS, EVEN IF A CAPTIVA REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY THIRD PARTY.

Some states or jurisdictions do not allow the exclusion or limitation of incidental, consequential or special damages, or the exclusion of implied warranties, or limitations on how long an implied warranty may last, so the above limitations may not apply to LICENSEE. In such states/countries and to the extent permissible, any implied warranties are limited to thirty (30) days.

INTELLECTUAL PROPERTY

All ISIS technology is the intellectual property of Captiva and is protected under trademarks, registered trademarks, copyrights, and/or patents in the United States and/or other countries. ALL RIGHTS RESERVED.

See Also

Trial Mode
Development Mode
Run Time Licensing
Distributing ISIS Xpress


Verify You're Using the Latest Service Pack
See Also Send Feedback |
Distributing Applications & Deployment > Verify You're Using the Latest Service Pack

Glossary Item Box

Verify You're Using the Latest Service Pack

Service pack updates will not overwrite paid licensing. Your paid licensing will continue to work and you will not be required to re-enter your purchased registration codes. Service pack updates do not include any changes that might "break" previously developed and/or deployed code.

Verify Latest Development Components

To verify you are using the latest version of an Accusoft Pegasus Development Component or Components, please use the PegConnect utility program. Please note that a Help File for each product may be found on the Start Bar under Accusoft, or in C:\Windows\Help.

PegConnect is installed by all component product installers and is accessible through the Windows Start menu: Start | Programs | Accusoft | Common | Utilities

PegConnect Allows You To:

  1. Check with Accusoft Pegasus via online connection and verify that the installed version of the component includes all the most recent updates.
  2. Update to the latest version automatically with your permission.
  3. Determine if a control is registered or unregistered on the machine.
  4. Easily change the registration status from registered to non-registered, or non-registered to registered.

Alternatively, you can see the currently released product build numbers at www.accusoft.com/latestbuilds.htm.

If you require further assistance or have questions or comments, please see the topic on Getting Support for more detailed information.

See Also

Getting Support
Installing on a Development Machine


Distributing ISIS Xpress

Accusoft.ISISXpress4.ActiveX | Accusoft Pegasus
Distributing ISIS Xpress
See Also Send Feedback |
Distributing Applications & Deployment > Distributing ISIS Xpress

Glossary Item Box

Distributing ISIS® Xpress™

There are a number of EMC Corporation's ISIS® PixTools files that must be installed according to the target system. There is a PixTran subdirectory in the directory where ISIS Xpress was installed. The PixTran subdirectory contains four subdirectories that include all the necessary EMC Corporation's ISIS® PixTools files. The directories are:

  • PixTran – Install these files to the target windows\pixtran directory.
  • Sysdir – Install these files to the target windows\system directory (windows\system32 if the target is WinNT, 2000, or XP).
The above files should be installed in the specified order.

DLL Files to Distribute

The following file must be distributed with the application that uses the ISIS Xpress Windows Forms control:

  • Accusoft.ISISXpress4.ActiveX.dll

See Also

Getting Support
Installing on a Development Machine
Development Mode
Run Time Licensing
Software License Agreement
Verify You're Using the Latest Service Pack


Overview of ISIS Xpress

Accusoft.ISISXpress4.ActiveX | Accusoft Pegasus
Overview of ISIS Xpress
Send Feedback |
Concepts > Overview of ISIS Xpress

Glossary Item Box

Overview of ISIS® Xpress™

There are only a few steps required for basic scanning; unlocking the run time, setting the output path and filename, and invoking the ScanSingle method.
ISISXpress.UnlockRuntime (12345, 12345, 12345, 12345)
ISISXpress.FileName = "C:\temp\image.tif"
ISISXpress.ScanSingle ()

Scanner Settings

ISIS® Xpress also provides properties and methods for scanner settings and naming schemes for batch scanning.

All settings are accessed based on the value of the ScanSetting property. This property uses the ISX_ScanSetting enumeration which has the following values:

ISX_XResolution = 0,
ISX_YResolution = 1,
ISX_PageSize = 2,
ISX_Brightness = 3,
ISX_Contrast = 4,
ISX_XPosition = 5,
ISX_YPosition = 6,
ISX_ImageWidth = 7,
ISX_ImageLength = 8,
ISX_ResUnit = 9,
ISX_Type = 10,
ISX_ScanAhead = 11,
ISX_ScanAheadMaxPages = 12,
ISX_ScanAheadPages = 13,
ISX_SamplesPerPixel = 14,
ISX_BitsPerSample = 15,
ISX_AdvancedTag =16

This property must be set before a scanner setting can be queried or set.
The following code could be used to set the scanner mode to 256-level gray scale.
ISISXpress.ScanSetting = ISX_ScanSetting.ISX_SamplesPerPixel
ISISXpress.SettingLong = 1
ISISXpress.ScanSetting = ISX_ScanSetting.ISX_BitsPerSample
ISISXpress.SettingLong = 8

The following code could be used to set the Brightness for the scanner.

ISISXpress.ScanSetting = ISX_ScanSetting.ISX_Brightness
ISISXpress.SettingLong = 23

Not all settings have an integer setting such as Brightness. The ISX_ScanSetting.ISX_PageSize property is usually a string and must be set with the SettingString property. For Example:

ISISXpress.ScanSetting = ISX_ScanSetting.ISX_PageSize
ISISXpress.SettingString = "scanner’s maximum"

The DataType property can be used to determine the setting type. This property uses the ISX_DataTypeInfo enumeration which has the following values.

ISX_RangeLong = 0,
ISX_ListLong = 1,
ISX_ListString = 2,
ISX_String = 3,
ISX_Long = 4,
ISX_Rational = 5,
ISX_ListRational = 6,
ISX_RangeRational = 7

Scanner settings can vary widely between different kinds of scanners. For this reason it is important to know what values are legal for a particular setting. ISIS® Xpress provides several properties to query the available choices for a setting.

If the DataType property equals ISX_RangeLong or ISX_RangeRational for a setting, then the following properties and methods are used to determine what range of values is legal.

The properties for Long values:

RangeMinimumLong
RangeMaximumLong

The methods for Rational values:

RangeMinimumRational
RangeMaximumRational

Any value between and including the minimum and maximum values can be set to the SettingLong property or SettingRationalSet method for this setting. A Long range of choices is the typical DataType for the following scanner settings:

ISX_ScanSetting.ISX_Brightness
ISX_ScanSetting.ISX_Contrast
ISX_ScanSetting.ISX_XPosition
ISX_ScanSetting.ISX_YPosition
ISX_ScanSetting.ISX_ImageWidth
ISX_ScanSetting.ISX_ImageLength
ISX_ScanSetting.ISX_ScanAhead
ISX_ScanSetting.ISX_ScanAheadMaxPages

If the DataType property equals ISX_DataTypeInfo.ISX_ListLong, ISX_DataTypeInfo.ISX_ListString, or ISX_DataTypeInfo.ISX_ListRational, then the possible values for the setting are contained in a list and can be queried with these methods:

ListLong
ListString
ListRational

ListLong, ListString, and ListRational are property arrays where the Index value can be from 0 to ListCount – 1. ListLong or ListString are the typical DataType for the following scanner settings:

ISX_ScanSetting.ISX_XResolution
ISX_ScanSetting.ISX_YResolution
ISX_ScanSetting.ISX_PageSize

Advanced Tags

The component supports Advanced Tags, which offers developers great flexibility in utilizing scanner specific features. These are scanner processing instructions which are provided as parameters passed as tag values to the control, and consequently passed directly through to the scanner. Assuming the correct tags are passed to the scanner, they will instruct the scanner what actions to take.

The following methods and properties are used with advanced tags:

Methods:

LongDefault - Gets a long value at the specified index in the list of long values for the default scan setting.

RationalDefault - Gets a rational value at the specified index in the list of rational values for the default scan setting.

StringDefault - Gets a string value for the default scan setting.

Properties:

Advanced - Gets and sets the advanced tag number.

Batch Scanning

ISIS® Xpress provides the ScanBatch method for batch scanning. Scanners that have a document feeder will scan until the feeder is empty or until the Cancel method is called. ISIS® Xpress will generate a FeederEmpty event when the feeder is empty. ISIS® Xpress also generates a Scanning and Scanned event for each page that is scanned. The Scanning event can be used to modify the filename before the scan takes place. Scanners without a document feeder trigger a FeederEmpty event before each page is scanned, allowing the user to cancel the operation.

After issuing the ScanBatch method, ISIS® Xpress will continue to scan images for the device until the StopScan parameter of the FeederEmpty event is set to true or the Cancel method is called. The FeederEmpty event is the correct place to pop up a dialog or message box asking the user to load the scanner, cancel the operation, load a new batch, etc.

Naming Schemes

ISIS® Xpress provides properties to generate filenames for use with batch scanning. The following properties are used:

UseSchema- Gets and set a naming schema for batch scanning.
Root - Gets and sets the root prefix used to generate filenames during a batch scan.
Directory - Gets and sets the base directory used for the file naming schema during batch scans.
FileSchema - Gets and sets the file schema used to generate filenames during batch scanning.

The UseSchema property must be set to true before ISIS® Xpress will generate filenames. Once set to true, the other properties are used to generate a file name. For example, if you want the filenames to be C:\Docs\File001.tif, C:\Docs\File002.tif, etc., these are the correct settings:

ISISXpress.Root = "File";
ISISXpress.Directory = "C:\Docs";
ISISXpress.FileSchema = "$###" ;

For the FileSchema property, the "$" symbol represents the Root, and the "#" represents the page number. The number of #’s used determines the number of leading 0’s to use in the filename. For example, "$##" generates File01.tif, while "$####" generates File0001.tif. Any extra $ symbols are ignored; "$###" is equivalent to "$$$###".

During batch scanning, a Scanning event is fired before each page is scanned. At this time the Filename property will be equal to the filename used for that page. The user can change the Filename property at this time if desired.

Memory Images

ISIS Xpress can generate a memory image at the time of scanning by setting the CreateDib property to true. If this property is set to true, the hDib property becomes valid in the Scanned event. The hDib property can then be passed on to another control such as Accusoft Pegasus' ImagXpress. It is possible to only use memory images by setting the CreateDib property to true and the CreateFiles property to false. In this case, nothing is saved to disk, only to memory. This can provide faster operation if you wish the user to be able to view and modify the image before saving. In such a case, you would pass the hDib property to the ImagXpress control, and then the ImagXpress control would save the file after acceptance.

The hDib property can only be read once per scan. Subsequent reads will return a 0. If you wish to check this property before setting it, load it into a temporary variable first.

For example:

Long Temp = ISISXpress.hDib;
if (Temp != 0)
{
ImagXpress.hDib = Temp;
}

Dependencies

There are a number of EMC Corporation's ISIS PixTools files that must be installed according to the target system. There is a PixTran subdirectory in the directory where ISIS Xpress was installed. The PixTran subdirectory contains four subdirectories that include all the necessary EMC Corporation's ISIS PixTools files. The directories are:

  • PixTran – Install these files to the target windows\pixtran directory.
  • Sysdir – Install these files to the target windows\system directory (windows\system32 if the target is WinNT, 2000, or XP).
The above files should be installed in the specified order.


Glossary

Accusoft.ISISXpress4.ActiveX Accusoft Pegasus
Glossary
Send Feedback

Glossary Item Box

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

A

Aspect Ratio
There are two kinds of aspect ratio that you need to be aware of when working with 2D images; the image aspect ratio and the pixel aspect ratio.The image aspect ratio is the ratio of the width of the image to the height of the image. It's important when resizing an image to keep this ratio as close to unchanged as possible or the image may become distorted.The pixel aspect ratio is the shape of the pixels in the image. For computers this is normally square (1:1) or close to it depending on the monitor settings. For some video sources, however, the pixels may be slightly rectangular.

B

BMP
The Microsoft Windows Bitmap file format is based on the Microsoft Windows internal bitmap data structures. The BMP format is very widely used and it is quick and easy to read. Although most BMP files are uncompressed, a type of run length encoding is supported.

BPP
Bits per pixel

C

CCITT
CCITT is the most widely used compression scheme for transmitting binary (black and white) image data. CCITT was established by the International Telegraph and Telephone Consultative Committee. The Group 3 and Group 4 CCITT compression standards are widely used for transmitting fax data. CCITT compressed images are typically stored in the TIFF image format.

D

DCX
An image format containing multiple PCX images. A DCX file can contain a maximum of 1024 images.

DDB
Microsoft Device Dependent Bitmap. The actual in-memory information used to display an image.

DEP
Data Execution Prevention (computer security)

DIB
Microsoft Device Independent Bitmap. An alternative file extension used by the Microsoft Windows Bitmap.

F

Float
Denotes a simple type that stores 32-bit floating-point values.

G

GIF
Graphical Interchange File, originally developed by CompuServe as a machine independent format. GIF is one of the most popular image formats for storing 8-bit digitized images. GIF files are typically smaller than uncompressed formats like BMP due to the LZW compression algorithm that GIF uses.

Grey-scale
If the pixels of a grey-scale image have N bits, they may take values from zero, representing black up to 2^N-1, representing white with intermediate values representing increasingly light shades of grey. If N=1, the image is not called grey-scale, but could be called monochrome.

H

Halftone
Pertaining to pictures in which gradation of tone in the photograph is reproduced by a graduated system of dotted and checkered spots, usually nearly invisible to the unaided eye, produced by the interposition between the camera and the object of a screen. The name alludes to the fact that this process was the first that was practically successful in reproducing the half tones of the photograph.

I

ICO
Microsoft Windows Icon file format.

Inverse
To reverse something or change it to its opposite. For example, to invert the colors on a monochrome display means to change light to dark and dark to light. In a digital electrical signal, to replace a high level by a low level and vice versa. This type of operation is the electronic equivalent of a Boolean NOT operation.

J

JIF
An alternative image file extension used for a JFIF compliant JPEG file. Because many early versions of JPEG contained a JPG extension but did not adhere to the JFIF specifications, the JIF extension was created to identify JPEG files that are JFIF compliant. As the popularity of JPEG grew, JFIF compliance became synonymous with the JPG extension and thus the JIF extension is rarely used.

JPEG
The JPEG (Joint Photographic Experts Group) standard is one of the most important image data compression standards. It is widely used in many industries including graphic arts, desktop publishing, medical imaging, and many more. It is also becoming one of the most widely used image formats on the Internet. Although JPEG supports a lossless mode, it most commonly uses lossy compression. This allows JPEG to achieve very high compression ratios. JPEG compression uses several compression modes. First, an image is transformed to the frequency domain using the discrete cosine transform. The smaller valued frequency components are discarded leaving only the larger valued components. The remaining components are DPCM coded and then Huffman coded. Fortunately, ImagXpress™ handles all of this for you! The compression level is adjustable. Higher quality settings produce a larger image file size with higher image quality. Lower quality settings produce a smaller image file size with lower image quality. Typically, we have found that compression ratios of 10:1 or 15:1 (A 640x480x24-bit image is 921,600 bytes; a 15:1 compressed image would compress to only 61k) produce generally acceptable image quality for photographic type images. Images compressed at higher ratios begin to show more noticeable and sometimes objectionable artifacts and clarity loss. JPEG is a 24-bit format and works only with 24-bit images. If you compress an 8-bit image, ImagXpress™ automatically converts it to 24-bit to do the compression, however, you will obtain better quality when the source image is 24-bit because 8-bit images only contain 256 colors. JPEG works best with photographic type images. It does not work well with solid colors, 16-color images, cartoon like images, or drawings. Progressive JPEG is a multiple-scan sequential JPEG format that is becoming popular on the Internet for the ability to display images in progressively clearer segments.

L

Little-endian
Describes a computer architecture in which, within a given 16- or 32-bit word, bytes at lower addresses have lower significance (the word is stored "little-end-first"). The PDP-11/VAX families of computers, Intel microprocessors, plus a lot of communications and networking hardware are little-endian. The term is sometimes used to describe the ordering of units other than bytes; most often, bits within a byte.

Luminance
One of the 3 components of the HSL (Hue, Saturation and Luminance) color space. Luminance controls the overall brightness of an image.

LZW
Lempel-Ziv-Welch (algorithm)

P

PBM
Portable bitmap image format, a very simple uncompressed 1-bit (black and white) image format. Data can be stored in either binary or ASCII format.

PGM
Portable Graymap image format. PGM is a very simple uncompressed 8-bit grayscale image format. Data can be stored in either binary or ASCII format.

PNG
Portable Network Graphics (pronounced "ping") provides a portable, legally unencumbered (royalty-free), well-compressed, well-specified standard for lossless bitmapped image files. The initial motivation for developing PNG was to provide a royalty-free alternative to GIF. The design retains many of the features of GIF that make it an attractive format for transmission of images, such as lossless compression and progressive display capabilities. Additionally, it provides several advantages including 24-bit image support and generally better compression, although decompression is typically somewhat slower than GIF. PNG's success will be ultimately determined by its acceptability on the Internet. At the time of this writing, however, PNG has not been incorporated as part of the major Internet browsers.

PPM
Portable Pixmap image format, a very simple uncompressed 24-bit image format. Data is stored in RGB triplets and can be stored in either binary or ASCII format.

R

RGB
Red, Green Blue. Bitmapped images are most generally stored as RGB data. Each pixel or data point in a true color (24-bit) image contains 3 components, red, green and blue, that describe the color of the pixel. Each of the components can have a value between 0 and 255, 0 being the darkest shade of color and 255 being the lightest shade of color. Since each component can be stored in one byte (8-bits), the 3 components take up 3 bytes or 24-bits per pixel. 8-bit images contain one byte (8-bit) indexes for each pixel that map to a color table called a palette which contains a maximum of 256 RGB entries. Likewise, 4-bit images contain 4-bit indexes for each pixel that map to a palette which contains a maximum of 16 RGB entries. 1-bit images contain 1-bit per pixel. Each bit in a 1-bit image represents either black or white.

RLE
RLE stands for Run Length Encoding. It is a lossless algorithm that only offers decent compression ratios in specific types of data.

T

TGA
Targa Image File) format was developed by TrueVision for its Targa line of products. TGA is one of the earliest image formats and was the first popular format to support 24-bit color. TGA supports uncompressed and RLE compressed formats.

TIFF
Tag Image File Format, originally released by Aldus Corporation is a standard file format found in most paint, imaging, and desktop publishing programs. TIFF is extremely powerful, flexible, and extensible. However, because of its many nuances and its wide scope, TIFF can be a difficult format to understand as well as a difficult format to support. ImagXpress™ supports a wide range of TIFF 6.0 formats including uncompressed, CCITT RLE, CCITT Group 3 Fax, CCITT Group 4 Fax, LZW, Pack Bits, JPEG, and deflate compression types. ImagXpress™ supports black and white, RGB, and RGB palette images but it does not support transparency mask, CMYK, YCbCr, or CIELab.

TWAIN
TWAIN (Technology Without An Interesting Name) is a standard for controlling and acquiring image data from raster-generating devices such as scanners, digital cameras, and video digitizers. Manufacturers write the TWAIN driver (called the Source) for their device. Applications that are TWAIN compliant can be used with any TWAIN compliant Source. Likewise, a TWAIN compliant Source can be used with any TWAIN compliant application. Applications that you build with ImagXpress™ can be used to interface TWAIN compliant Sources to acquire image data. TWAIN compliant applications should provide the following: The capability to select the Source. This is required because you may have more than one TWAIN device connected to a computer. Use the TWAINSelect method to select the source. The ability to acquire image data. Use the TWAINAcquire method to acquire the image data. If Accusoft Pegasus' TWAIN Acquire method is successful, the image data is converted to a DIB and the control's hDIB property is set to the resulting DIB handle. Once the image is acquired, you may use any of the image processing methods to alter or save the DIB. The TWAIN sample in the SAMPLES directory and the ImagXpress™ Demo application demonstrate how easy it is to add TWAIN support to your applications.

twip
Twips describe the sizes of characters produced by dot matrix printers, which were constrained to multiples of either 12 or 10 dots per inch.

W

Wintel
A term describing the combination of Microsoft Windows operating system running on PCs with Intel or compatible processors. Dominance of the wintel platform began with MS-DOS on PCs with Intel's 8-bit 8088 processors in 1979.

WMF
The Microsoft Windows Metafile format is used to store vector and bitmap image data. Because of its popularity and wide use, many Windows and non-Windows applications support WMF.

X

XP
Microsoft says the Windows "XP" designation originates from the word "experience". Windows XP brings many features previously available only in the server- and workstation-oriented Windows NT and Windows 2000 families, such as greater stability and efficiency due to its pure 32-bit kernel, instead of the hybrid 16-bit/32-bit kernel in prior consumer versions of Windows. (The version number of Windows XP is 5.1 just as Windows 2000 was version 5.0, to denote two OS as descendants of Windows NT 4.0.)


ISISXpress Object

Accusoft Pegasus
Accusoft ISIS Xpress 4
ISISXpress Object
See Also Members Send Feedback

Description

The ISISXpress Object is the main controller component of the ISIS Xpress toolkit.

Object Model

See Also

ISISXpress Members


ISISXpress Object Members

ISISXpress Object Members
See Also Overview Send Feedback

Public Methods

Public Method AboutBox | Displays the about box showing the ISIS Xpress version number, Accusoft Pegasus contact information, and general information about this component.
Public Method Cancel | Cancels the scanning process immediately or waits until the current page is transferred from the scanner before the scanning process is cancelled.
Public Method CancelImmediate | Immediately cancels the scanning process.
Public Method ClearScanAheadPages | Clears the scanners buffers of any scanned in ahead pages.
Public Method GetFirstConnectedDriverAndScanner | Get the first connected driver name and scanner model.
Public Method GetFirstDriverAndScanner | Get the first driver name and scanner model.
Public Method GetNextConnectedDriverAndScanner | Get the next connected driver name and scanner model.
Public Method GetNextDriverAndScanner | Get the next driver name and scanner model.
Public Method ListLong | The method to get a long value when the DataType Property is a long list for the current scan setting.
Public Method ListRational | The method to get a rational value when the DataType Property is a rational list for the current scan setting.
Public Method ListString | The method to get a string value when the DataType Property is a string list for the current scan setting.
Public Method LoadDriver | Preloads the ISIS drivers used for scanning and saving an image.
Public Method LoadSettings | Loads the settings for the current scanner from an .ini file.
Public Method LongDefault | The method to get a long value at the specified index in the list of long values for the default scan setting.
Public Method RangeMaximumRational | The method to get the highest possible rational value for the current scan setting when the scan setting is a range of values.
Public Method RangeMinimumRational | The method to get the lowest possible rational value for the current scan setting when the scan setting is a range of values.
Public Method RationalDefault | The method to get a rational value at the specified index in the list of rational values for the default scan setting.
Public Method RationalStep | The method to get the increment or step of rationals when changing values.
Public Method SaveSettings | Saves the settings for the current scanner to an .ini file.
Public Method ScanBatch | Starts a batch scan process.
Public Method ScanSingle | Scans a single page and stores it in the file specified by the FileName Property.
Public Method Select | Displays a predefined dialog box that allows the user to choose a scanner, add a scanner, or configure a scanner.
Public Method SelectConnected | Displays a dialog box that allows the user to choose a connected scanner, add a scanner, or configure a scanner.
Public Method SettingRationalGet | The method to get a rational for the current scanner setting.
Public Method SettingRationalSet | The method to set a rational for the current scanner setting.
Public Method Setup | This method displays a predefined dialog that allows the user to change driver specific scanner settings.
Public Method StringDefault | The method to get a string value for the default scan setting.
Public Method UnlockRuntime | Unlock the ISIS Xpress control for use in runtime environments.
Public Method UnlockWeb | Unlock the ISIS Xpress control for use on web servers.

Public Properties

Public Property Advanced | Gets and sets the advanced tag number.
Public Property CreateDib | Gets and sets an indicator whether a DIB is created while scanning so the hDib property is valid after each scan.
Public Property CreateFiles | Gets and sets whether the scanned in data is saved to a file using the full path and filename specified by the FileName property.
Public Property DataType | Gets the data type the information is encoded in for the current scanner setting.
Public Property Debug | Indicates whether debug information is generated and written to the debug log file.
Public Property DebugErrorLevel | Determines the level of messages to return.
Public Property DebugLogFile | Contains the full path name of the log file.
Public Property DibBitsPerPixel | Current Dib bits per pixel.
Public Property DibFlip | Gets and sets whether the DIB that is stored in the hDib property is flipped.
Public Property DibHeight | Gets the height of the current scanned image contained in the DIB represented by the hDib property.
Public Property DibWidth | Gets the width of the current scanned image contained in the DIB represented by the hDib Property.
Public Property Directory | Gets and sets the base directory used for the file naming schema during batch scans when the UseSchema Property is set to true.
Public Property DriverDirectory | The location of the ISIS driver files.
Public Property DriverDirectoryDefault | The default location of the ISIS driver files.
Public Property DriverLoaded | Gets an indicator value if the scanner driver is loaded.
Public Property ErrorCode | Returns error codes from ISIS driver.
Public Property ErrorDescription | Gets the error description.
Public Property EvaluationMode | Indicates the License evaluation mode to use for the control.
Public Property FileName | Gets and sets the full path and filename where the scanned image is saved.
Public Property FileSchema | Gets and sets the file schema used to generate filenames during batch scanning.
Public Property hDib | Gets the handle to a DIB for the current scanned image. After each scan, this value will be a handle to a DIB if the CreateDib Property is true and the UseCompression Property is false.
Public Property ListCount | Gets the number of available choices when the DataType Property is a list for the current scan setting.
Public Property ListIndex | Sets the index for the list item to access when the DataType Property is a list for the current scan setting.
Public Property MultiplePages | Gets and sets an indicator if the TIFF file should be saved as a multi-page TIFF file.
Public Property RaiseExceptions | Gets and sets if exceptions should be raised by the ISIS Xpress ActiveX control.
Public Property RangeMaximumLong | Gets the highest possible long value for the current scan setting when the scan setting is a range of values.
Public Property RangeMinimumLong | Gets the lowest possible long value for the current scan setting when the scan setting is a range of values.
Public Property Root | The property to get or set the root prefix used to generate filenames during a batch scan when the UseSchema Property is set to true.
Public Property SaveFileType | Gets and sets the file format to use when saving images. ISIS Xpress supports five different types of TIFF compression, JPEG Color, JPEG Gray, and DCX.
Public Property ScannerName | Gets and sets the name of the scanner driver.
Public Property ScanSetting | Gets and sets the scanner setting that is to be retrieved or set.
Public Property SettingLong | Gets and sets a long for the current scanner setting.
Public Property SettingString | Gets and sets a string for the current scanner setting.
Public Property Supported | Gets an indicator if the current scan setting is supported.
Public Property UseCompression | Gets and sets a value used to enable or disable hardware compression if the scanner supports it.
Public Property UseSchema | Gets and sets an indicator whether a naming schema is used during batch scanning.

Events

Public Event FeederEmpty | An event indicating that the scanner feeder is empty.
Public Event Progress | An event indicating how much of the scan has completed.
Public Event Scanned | An event indicating a scan has completed.
Public Event Scanning | An event indicating a scan is starting.

See Also

ISISXpress Overview


Advanced Property

Advanced Property
See Also Send Feedback

Description

Gets and sets the advanced tag number.

Property type

Read-write property

Syntax

Visual Basic
Public Property Advanced() As Long

Return Type

A long that represents the advanced tag number.

Remarks

See the Overview topic which includes a summary on Advanced Settings and how to use them.

See Also

ISISXpress Object | Overview


CreateDib Property

CreateDib Property

Description

Gets and sets an indicator whether a DIB is created while scanning so the hDib property is valid after each scan.

Property type

Read-write property

Syntax

Visual Basic
Public Property CreateDib() As Boolean

Return Type

A boolean that indicates whether a DIB will be created. true if a DIB should be created or false if a DIB should not be created.

Remarks

The default setting is false.

This DIB can only be created if the UseCompression property is set to false. When hardware compression is enabled, the scanner sends compressed data to the computer and this cannot be used to construct a DIB.

It is possible to set both CreateDib and CreateFiles to false but then there will be no output.

See Also

ISISXpress Object | UseCompression Property | CreateDib Property | CreateFiles Property


CreateFiles Property

CreateFiles Property

Description

Gets and sets whether the scanned in data is saved to a file using the full path and filename specified by the FileName property.

Property type

Read-write property

Syntax

Visual Basic
Public Property CreateFiles() As Boolean

Return Type

A boolean which is true if the scanned in data is saved to a file or false if the scanned in data is not saved to a file.

Remarks

The default value is true.

This setting can be set to false if only a DIB is desired. It is possible to set both CreateDib and CreateFiles to false but then there will be no output.

See Also

ISISXpress Object | FileName Property


DataType Property

DataType Property

Description

Gets the data type the information is encoded in for the current scanner setting.

Property type

Read-only property

Syntax

Visual Basic
Public Property DataType() As ISX_DataTypeInfo

Return Type

A ISX_DataTypeInfo enumeration representing the data type the information is encoded in for the current scanner setting.

Remarks

See the ISX_DataTypeInfo enumeration for more information.

See Also

ISISXpress Object | ISX_DataTypeInfo Enumeration


Debug Property

Debug Property

Description

Indicates whether debug information is generated and written to the debug log file.

Property type

Read-write property

Syntax

Visual Basic
Public Property Debug() As Boolean

Return Type

A boolean value which is true if debug information is generated and written to the log file; otherwise, false.

Remarks

This setting is used to help debug an application during development.

To define the level of debug information use the DebugErrorLevel property.

See Also

ISISXpress Object | DebugErrorLevel Property | DebugLogFile Property


DebugErrorLevel Property

DebugErrorLevel Property

Description

Determines the level of messages to return.

Property type

Read-write property

Syntax

Visual Basic
Public Property DebugErrorLevel() As ISX_ErrorLevels

Return Type

The ISX_ErrorLevels enumeration value set.

Remarks

The default value is ISX_ErrorLevels Production.

Set this property appropriately to speed up processing when not debugging. When debugging, set this property to Detailed to obtain detailed error information.

See Also

ISISXpress Object | ISX_ErrorLevels Enumeration | ISX_ErrorLevels Enumeration | Debug Property | DebugErrorLevel Property


DebugLogFile Property

DebugLogFile Property

Description

Contains the full path name of the log file.

Property type

Read-write property

Syntax

Visual Basic
Public Property DebugLogFile() As String

Remarks

The default value is "%temp%\ISISXpress4.log".

Valid values are any valid filename.

This property allows you to control the location of the debug log file.

Note: This property will have no effect if you set the Debug property to false.

See Also

ISISXpress Object | Debug Property


DibBitsPerPixel Property

DibBitsPerPixel Property

Description

Current Dib bits per pixel.

Property type

Read-only property

Syntax

Visual Basic
Public Property DibBitsPerPixel() As Long

Return Type

A long value which represents the bits per pixel.

Remarks

This is a read-only property which throws an exception if an attempt to set it is made.

See Also

ISISXpress Object


DibFlip Property

DibFlip Property

Description

Gets and sets whether the DIB that is stored in the hDib property is flipped.

Property type

Read-write property

Syntax

Visual Basic
Public Property DibFlip() As Boolean

Return Type

A boolean value which is true if the DIB should be flipped or false if the DIB should not be flipped.

Remarks

Note: This property must be set before starting a scan.

This property only affects the DIB that is stored in the hDib property and has no bearing on saved files.

See Also

ISISXpress Object | hDib Property


DibHeight Property

DibHeight Property

Description

Gets the height of the current scanned image contained in the DIB represented by the hDib property.

Property type

Read-only property

Syntax

Visual Basic
Public Property DibHeight() As Long

Return Type

A long that represents the height of the current scanned image contained in the DIB represented by the hDib property.

Remarks

The DibHeight property is used to obtain the height of the current scanned image. This value may be different from the ISX_ScanSetting.ISX_ImageLength scan setting if a scanners page size detection setting is enabled. DibHeight is available at runtime in the Scanned event and it is available until the hDib property is no longer valid.

See Also

ISISXpress Object | ISX_ScanSetting Enumeration | Scanned Event | hDib Property


DibWidth Property

DibWidth Property

Description

Gets the width of the current scanned image contained in the DIB represented by the hDib Property.

Property type

Read-only property

Syntax

Visual Basic
Public Property DibWidth() As Long

Return Type

A long that represents the width of the current scanned image contained in the DIB represented by the hDib Property.

Remarks

The DibWidth property is used to obtain the width of the current scanned image. This value may be different from the ISX_ScanSetting.ISX_ImageWidth scan setting if a scanners page size detection setting is enabled. DibWidth is available at runtime in the Scanned Event and it is available until the hDib Property is no longer valid.

See Also

ISISXpress Object | ISX_ScanSetting Enumeration | Scanned Event | hDib Property


Directory Property

Directory Property

Description

Gets and sets the base directory used for the file naming schema during batch scans when the UseSchema Property is set to true.

Property type

Read-write property

Syntax

Visual Basic
Public Property Directory() As String

Return Type

Value
A string representing the base directory used for the file naming schema during batch scans.

See Also

ISISXpress Object | UseSchema Property


DriverDirectory Property

DriverDirectory Property

Description

The location of the ISIS driver files.

Property type

Read-write property

Syntax

Visual Basic
Public Property DriverDirectory() As String

Return Type

A string that returns the location of the ISIS driver files.

See Also

ISISXpress Object


DriverDirectoryDefault Property

DriverDirectoryDefault Property

Description

The default location of the ISIS driver files.

Property type

Read-only property

Syntax

Visual Basic
Public Property DriverDirectoryDefault() As String

Return Type

A string that returns the default location of the ISIS driver files.

See Also

ISISXpress Object


DriverLoaded Property

DriverLoaded Property

Description

Gets an indicator value if the scanner driver is loaded.

Property type

Read-only property

Syntax

Visual Basic
Public Property DriverLoaded() As Boolean

Return Type

A boolean value which is true if the scanner driver is loaded or false if the scanner driver is not loaded.

See Also

ISISXpress Object


ErrorCode Property

ErrorCode Property

Description

Returns error codes from ISIS driver.

Property type

Read-only property

Syntax

Visual Basic
Public Property ErrorCode() As Long

Return Type

A long value which represents the error number.

Remarks

During the development cycle, the Debug Property can be used to obtain more detailed information about the specific error.

See Also

ISISXpress Object | Debug Property | Debug Property | ErrorCode Property


ErrorDescription Property

ErrorDescription Property

Description

Gets the error description.

Property type

Read-only property

Syntax

Visual Basic
Public Property ErrorDescription() As String

Return Type

A string that describes the error.

Remarks

During the development cycle, the Debug Property can be used to obtain more detailed information about the specific error.

See Also

ISISXpress Object | Debug Property | ErrorNumber Property


EvaluationMode Property

EvaluationMode Property

Description

Indicates the License evaluation mode to use for the control.

Property type

Read-write property

Syntax

Visual Basic
Public Property EvaluationMode() As ISX_Evaluation

Return Type

The ISX_Evaluation Enumeration setting representing the current Licensing evaluation mode.

See Also

ISISXpress Object | ISX_Evaluation Enumeration


FileName Property

FileName Property

Description

Gets and sets the full path and filename where the scanned image is saved.

Property type

Read-write property

Syntax

Visual Basic
Public Property FileName() As String

Return Type

A string representing the full path and filename where the scanned image is saved.

Remarks

If the UseSchema Property is set to true, then this property is modified before each scan and can be checked or modified in the Scanning Event.

See Also

ISISXpress Object | UseSchema Property | Scanning Event


FileSchema Property

FileSchema Property

Description

Gets and sets the file schema used to generate filenames during batch scanning.

Property type

Read-write property

Syntax

Visual Basic
Public Property FileSchema() As String

Return Type

A string representing the file schema used to generate filenames during batch scanning.

Remarks

The following symbols can be used to specify a schema:

$ = root
# = page number

The following items are example schemas and the files they would generate:

$## = file01, file02, etc;
$#### = file0001, file0002, etc.

See Also

ISISXpress Object


hDib Property

hDib Property

Description

Gets the handle to a DIB for the current scanned image. After each scan, this value will be a handle to a DIB if the CreateDib Property is true and the UseCompression Property is false.

Property type

Read-only property

Syntax

Visual Basic
Public Property hDib() As Long

Return Type

A long representing the handle to a DIB for the current scanned image.

Remarks

This value can then be set to the hDib property of another control such as ImagXpress.

This property becomes valid during the Scanned Event and will remain valid until a subsequent Scanning Event.

This property can only be queried once after each scan. To check the hDib property for a non-zero value, set it to a variable first!

See Also

ISISXpress Object | hDib Property | Scanned Event | Scanning Event


ListCount Property

ListCount Property

Description

Gets the number of available choices when the DataType Property is a list for the current scan setting.

Property type

Read-only property

Syntax

Visual Basic
Public Property ListCount() As Long

Return Type

A long representing the number of available choices when the DataType Property is a list for the current scan setting.

Remarks

This property is used to get the maximum value that can be used to access the ListLong Method, ListRational Method or ListString Method property arrays. The maximum value is ListCount Property - 1.

See Also

ISISXpress Object | DataType Property | ListLong Method | ListRational Method | ListString Method | ListCount Property


ListIndex Property

ListIndex Property

Description

Sets the index for the list item to access when the DataType Property is a list for the current scan setting.

Property type

Read-write property

Syntax

Visual Basic
Public Property ListIndex() As Long

Return Type

There is no return type for this property.

See Also

ISISXpress Object


MultiplePages Property

MultiplePages Property

Description

Gets and sets an indicator if the TIFF file should be saved as a multi-page TIFF file.

Property type

Read-write property

Syntax

Visual Basic
Public Property MultiplePages() As Boolean

Return Type

A boolean value which is true if the TIFF file should be saved as a multi-page TIFF file or false if the TIFF file should not be saved as a multi-page TIFF file.

Remarks

The default value is false.

The MultiplePages Property and the UseSchema Property cannot be used at the same time.

See Also

ISISXpress Object | MultiplePages Property | UseSchema Property


RaiseExceptions Property

RaiseExceptions Property

Description

Gets and sets if exceptions should be raised by the ISIS Xpress ActiveX control.

Property type

Read-write property

Syntax

Visual Basic
Public Property RaiseExceptions() As Boolean

Return Type

A boolean value which is true specifies that the ISIS Xpress ActiveX control will raise exceptions and false specifies that the ISIS Xpress ActiveX control will not raise exceptions.

Remarks

If the RaiseExceptions property is true, additional information can sometimes be obtained by checking the values of the ErrorCode Property and the ErrorDescription Property.

During the development cycle, the Debug Property can be used to obtain more detailed information about the specific error.

See Also

ISISXpress Object | ErrorNumber Property | ErrorDescription Property | Debug Property


RangeMaximumLong Property

RangeMaximumLong Property

Description

Gets the highest possible long value for the current scan setting when the scan setting is a range of values.

Property type

Read-only property

Syntax

Visual Basic
Public Property RangeMaximumLong() As Long

Return Type

A long representing the highest possible long value for the current scan setting when the scan setting is a range of values.

Remarks

A value should always be checked against this property before applying it because the highest long value can vary widely between different types of scanners.

See Also

ISISXpress Object


RangeMinimumLong Property

RangeMinimumLong Property

Description

Gets the lowest possible long value for the current scan setting when the scan setting is a range of values.

Property type

Read-only property

Syntax

Visual Basic
Public Property RangeMinimumLong() As Long

Return Type

A long representing the lowest possible long value for the current scan setting when the scan setting is a range of values.

Remarks

A value should always be checked against this property before applying it because the lowest long value can vary widely between different types of scanners.

See Also

ISISXpress Object


Root Property

Root Property

Description

The property to get or set the root prefix used to generate filenames during a batch scan when the UseSchema Property is set to true.

Property type

Read-write property

Syntax

Visual Basic
Public Property Root() As String

Return Type

A string representing the root prefix used to generate filenames during a batch scan.

Remarks

The Root property would be "image" if the desired filenames are image01.tif, image02.tif, and etc.

See Also

ISISXpress Object


SaveFileType Property

SaveFileType Property

Description

Gets and sets the file format to use when saving images. ISIS Xpress supports five different types of TIFF compression, JPEG Color, JPEG Gray, and DCX.

Property type

Read-write property

Syntax

Visual Basic
Public Property SaveFileType() As ISX_SaveFileType

Return Type

A ISX_SaveFileType Enumeration representing the file format to use when saving images.

Remarks

See the ISX_SaveFileType Enumeration for more information.

1 bit (Black and White) images can be saved to any of the five TIFF file formats or to the DCX file format. 8 bit (Gray Scale) images can be saved to the TiffRaw,TiffPackbits or JpegGray file formats. 24 bit (Color) images can be saved to the TiffRaw,TiffPackbits or JPEG file formats.

See Also

ISISXpress Object | ISX_SaveFileType Enumeration


ScannerName Property

ScannerName Property

Description

Gets and sets the name of the scanner driver.

Property type

Read-write property

Syntax

Visual Basic
Public Property ScannerName() As String

Return Type

A string representing the name of the scanner driver.

Remarks

The default scanner is loaded at creation.

This property will fail if it is set with a name that is not spelled exactly correct.

See Also

ISISXpress Object


ScanSetting Property

ScanSetting Property

Description

Gets and sets the scanner setting that is to be retrieved or set.

Property type

Read-write property

Syntax

Visual Basic
Public Property ScanSetting() As ISX_ScanSetting

Return Type

A ISX_ScanSetting Enumeration representing the scanner setting that is to be retrieved or set.

Remarks

All scanner settings are modified by setting the ScanSetting Property to the appropriate setting and then using one of the setting properties such as the SettingLong Property or the SettingString Property to set up the scanner.

Setting this property will also automatically set the Advanced Property to true.

See Also

ISISXpress Object | ISX_ScanSetting Enumeration | SettingLong Property | SettingString Property | Advanced Property


SettingLong Property

SettingLong Property

Description

Gets and sets a long for the current scanner setting.

Property type

Read-write property

Syntax

Visual Basic
Public Property SettingLong() As Long

Return Type

A long representing the current scanner setting.

See Also

ISISXpress Object


SettingString Property

SettingString Property

Description

Gets and sets a string for the current scanner setting.

Property type

Read-write property

Syntax

Visual Basic
Public Property SettingString() As String

Return Type

A string representing the current scanner setting.

See Also

ISISXpress Object


Supported Property

Supported Property

Description

Gets an indicator if the current scan setting is supported.

Property type

Read-only property

Syntax

Visual Basic
Public Property Supported() As Boolean

Return Type

A boolean value which is true if the current scan setting is supported or false if the current scan setting is not supported.

See Also

ISISXpress Object


UseCompression Property

UseCompression Property

Description

Gets and sets a value used to enable or disable hardware compression if the scanner supports it.

Property type

Read-write property

Syntax

Visual Basic
Public Property UseCompression() As Boolean

Return Type

A boolean value which is true to enable hardware compression or false to disable hardware compression.

See Also

ISISXpress Object


UseSchema Property

UseSchema Property

Description

Gets and sets an indicator whether a naming schema is used during batch scanning.

Property type

Read-write property

Syntax

Visual Basic
Public Property UseSchema() As Boolean

Return Type

A boolean indicating whether a naming schema is used during batch scanning.

Remarks

The default value is false.

The values of the Directory Property, Root Property, and FileSchema Property are used to determine the full path and filenames of the output files.

The MultiplePages Property and the UseSchema Property cannot be used at the same time.

See Also

ISISXpress Object | Directory Property | MultiplePages Property | Root Property | FileSchema Property | UseSchema Property


AboutBox Method

AboutBox Method

Description

Displays the about box showing the ISIS Xpress version number, Accusoft Pegasus contact information, and general information about this component.

Syntax

Visual Basic
Public Sub AboutBox()

See Also

ISISXpress Object


Cancel Method

Cancel Method
bImmediate
A boolean value which is true to immediately cancel the scanning process or false to wait until the current page is transferred from the scanner before the scanning process is cancelled.

Description

Cancels the scanning process immediately or waits until the current page is transferred from the scanner before the scanning process is cancelled.

Syntax

Visual Basic
Public Sub Cancel( _
   Optional ByVal bImmediate As Boolean = True _
)

Parameters

bImmediate
A boolean value which is true to immediately cancel the scanning process or false to wait until the current page is transferred from the scanner before the scanning process is cancelled.

Remarks

If the immediate parameter is true, the Cancel method will immediately cancel the scanning process. This cancellation will occur even if ISIS Xpress is in the middle of transferring data from the scanner.

If the immediate parameter is false, the Cancel method will cause the scanner to wait until the current page is transferred from the scanner before the scanning process is cancelled. If ISX_ScanSetting.ISX_ScanAhead is enabled and the scanner driver supports the ISX_ScanSetting.ISX_ScanAheadPages setting then ISIS Xpress will process those pages that have been scanned ahead, otherwise ISIS Xpress will stop processing all pages.

See Also

ISISXpress Object | ISX_ScanSetting Enumeration


CancelImmediate Method

CancelImmediate Method

Description

Immediately cancels the scanning process.

Syntax

Visual Basic
Public Sub CancelImmediate()

Remarks

The Cancel method will immediately cancel the scanning process. This cancellation will occur even if ISIS Xpress is in the middle of transferring data from the scanner.

See Also

ISISXpress Object | Cancel Method


ClearScanAheadPages Method

ClearScanAheadPages Method

Description

Clears the scanners buffers of any scanned in ahead pages.

Syntax

Visual Basic
Public Function ClearScanAheadPages() As Long

Remarks

This method should be called if a Cancel Method was performed while the scanner was set to scan ahead with the ISX_ScanSetting.ISX_ScanAhead scan setting set to ISX_ScanAheadChoice.On. This will flush the scanners buffers of any unprocessed pages.

See Also

ISISXpress Object | ISX_ScanSetting Enumeration | ISX_ScanAheadChoice Enumeration | Cancel Method


GetFirstConnectedDriverAndScanner Method

GetFirstConnectedDriverAndScanner Method
DriverName
A string value which represents the driver name to get.
ScannerModel
A string value which represents the scanner model to get.

Description

Get the first connected driver name and scanner model.

Syntax

Visual Basic
Public Sub GetFirstConnectedDriverAndScanner( _
   ByRef DriverName As String, _
   ByRef ScannerModel As String _
)

Parameters

DriverName
A string value which represents the driver name to get.
ScannerModel
A string value which represents the scanner model to get.

Remarks

Note: When the list has been completed, both DriverName and ScannerModel are NULL pointers.

See Also

ISISXpress Object


GetFirstDriverAndScanner Method

GetFirstDriverAndScanner Method
DriverName
A string value which represents the driver name to get.
ScannerModel
A string value which represents the scanner model to get.

Description

Get the first driver name and scanner model.

Syntax

Visual Basic
Public Sub GetFirstDriverAndScanner( _
   ByRef DriverName As String, _
   ByRef ScannerModel As String _
)

Parameters

DriverName
A string value which represents the driver name to get.
ScannerModel
A string value which represents the scanner model to get.

Remarks

Note: When the list has been completed, both DriverName and ScannerModel are NULL pointers.

See Also

ISISXpress Object


GetNextConnectedDriverAndScanner Method

GetNextConnectedDriverAndScanner Method
DriverName
A string value which represents the driver name.
ScannerModel
A string value which represents the scanner model.

Description

Get the next connected driver name and scanner model.

Syntax

Visual Basic
Public Sub GetNextConnectedDriverAndScanner( _
   ByRef DriverName As String, _
   ByRef ScannerModel As String _
)

Parameters

DriverName
A string value which represents the driver name.
ScannerModel
A string value which represents the scanner model.

Remarks

Note: When the list has been completed, both DriverName and ScannerModel are NULL pointers.

See Also

ISISXpress Object


GetNextDriverAndScanner Method

GetNextDriverAndScanner Method
DriverName
A string value which represents the driver name.
ScannerModel
A string value which represents the scanner model.

Description

Get the next driver name and scanner model.

Syntax

Visual Basic
Public Sub GetNextDriverAndScanner( _
   ByRef DriverName As String, _
   ByRef ScannerModel As String _
)

Parameters

DriverName
A string value which represents the driver name.
ScannerModel
A string value which represents the scanner model.

Remarks

Note: When the list has been completed, both DriverName and ScannerModel are NULL pointers.

See Also

ISISXpress Object


ListLong Method

ListLong Method
Index
The index of the long value to retrieve from the long list.

Description

The method to get a long value when the DataType Property is a long list for the current scan setting.

Syntax

Visual Basic
Public Function ListLong( _
   Optional ByVal Index As Variant _
) As Long

Parameters

Index
The index of the long value to retrieve from the long list.

Return Type

A long representing a long value when the DataType Property is a long list for the current scan setting.

Remarks

The index parameter is the index of the long value to retrieve from the long list.

See Also

ISISXpress Object | DataType Property


ListRational Method

ListRational Method
Numer
A long value which represents the numerator for the rational type.
Denom
A long value which represents the denominator for the rational type.
Index
The index of the rational value to retrieve from the rational list.

Description

The method to get a rational value when the DataType Property is a rational list for the current scan setting.

Syntax

Visual Basic
Public Sub ListRational( _
   ByRef Numer As Long, _
   ByRef Denom As Long, _
   Optional ByVal Index As Variant _
)

Parameters

Numer
A long value which represents the numerator for the rational type.
Denom
A long value which represents the denominator for the rational type.
Index
The index of the rational value to retrieve from the rational list.

Remarks

The index parameter is the index of the rational value to retrieve from the rational list.

See Also

ISISXpress Object


ListString Method

ListString Method
Index
The index of the string value to retrieve from the string list.

Description

The method to get a string value when the DataType Property is a string list for the current scan setting.

Syntax

Visual Basic
Public Function ListString( _
   Optional ByVal Index As Variant _
) As String

Parameters

Index
The index of the string value to retrieve from the string list.

Return Type

A string representing a string value when the DataType Property is a string list for the current scan setting.

Remarks

The index parameter is the index of the string value to retrieve from the string list.

See Also

ISISXpress Object | DataType Property


LoadDriver Method

LoadDriver Method

Description

Preloads the ISIS drivers used for scanning and saving an image.

Syntax

Visual Basic
Public Sub LoadDriver()

Remarks

This is an optimization method that can be used to improve performance. If this method is not called, there is a slight delay before the first scan is started because the control must first load the ISIS drivers. This method should only be called one time.

The following properties affect the ISIS drivers and can cause them to be reloaded:

SaveFileType Property
CreateFiles Property
UseCompression Property

If the properties need to be changed they should be modified and then LoadDriver should be called so the control is ready to scan. This will result in the scan starting immediately when the ScanSingle Method or ScanBatch Method method is called since the ISIS drivers have already been preloaded.

See Also

ISISXpress Object | SaveFileType Property | UseCompression Property | CreateFiles Property


LoadSettings Method

LoadSettings Method
FileName
The full path and filename of the .ini file which contains the scanner settings to load.

Description

Loads the settings for the current scanner from an .ini file.

Syntax

Visual Basic
Public Sub LoadSettings( _
   ByVal FileName As String _
)

Parameters

FileName
The full path and filename of the .ini file which contains the scanner settings to load.

Remarks

The same .ini file can be used for multiple scanners because the settings are saved under a different section for each scanner. The section name used in the .ini file is the name of the scanner driver.

See Also

ISISXpress Object


LongDefault Method

LongDefault Method
Index
An index into the list of long values.

Description

The method to get a long value at the specified index in the list of long values for the default scan setting.

Syntax

Visual Basic
Public Function LongDefault( _
   Optional ByVal Index As Variant _
) As Long

Parameters

Index
An index into the list of long values.

Return Type

This property is only available for Advanced settings.

A long representing the long value at the specified index in the list of long values for the default scan setting.

See Also

ISISXpress Object | Overview


RangeMaximumRational Method

RangeMaximumRational Method
Numer
A long value which represents the numerator for the rational type.
Denom
A long value which represents the denominator for the rational type.

Description

The method to get the highest possible rational value for the current scan setting when the scan setting is a range of values.

Syntax

Visual Basic
Public Sub RangeMaximumRational( _
   ByRef Numer As Long, _
   ByRef Denom As Long _
)

Parameters

Numer
A long value which represents the numerator for the rational type.
Denom
A long value which represents the denominator for the rational type.

Remarks

A value should always be checked against this property before applying it because the highest rational value can vary widely between different types of scanners.

See Also

ISISXpress Object


RangeMinimumRational Method

RangeMinimumRational Method
Numer
The numerator for the rational type.
Denom
The denominator for the rational type.

Description

The method to get the lowest possible rational value for the current scan setting when the scan setting is a range of values.

Syntax

Visual Basic
Public Sub RangeMinimumRational( _
   ByRef Numer As Long, _
   ByRef Denom As Long _
)

Parameters

Numer
The numerator for the rational type.
Denom
The denominator for the rational type.

Remarks

A value should always be checked against this property before applying it because the lowest rational value can vary widely between different types of scanners.

See Also

ISISXpress Object


RationalDefault Method

RationalDefault Method
Numer
The numerator for the rational type.
Denom
The denominator for the rational type.
Index
An index into the list of rational values.

Description

The method to get a rational value at the specified index in the list of rational values for the default scan setting.

Syntax

Visual Basic
Public Sub RationalDefault( _
   ByRef Numer As Long, _
   ByRef Denom As Long, _
   Optional ByVal Index As Variant _
)

Parameters

Numer
The numerator for the rational type.
Denom
The denominator for the rational type.
Index
An index into the list of rational values.

Remarks

This method is only available for Advanced settings.

See Also

ISISXpress Object


RationalStep Method

RationalStep Method
Numer
The numerator for the rational type.
Denom
The denominator for the rational type.

Description

The method to get the increment or step of rationals when changing values.

Syntax

Visual Basic
Public Sub RationalStep( _
   ByRef Numer As Long, _
   ByRef Denom As Long _
)

Parameters

Numer
The numerator for the rational type.
Denom
The denominator for the rational type.

See Also

ISISXpress Object


SaveSettings Method

SaveSettings Method
FileName
The full path and filename of the .ini file where the scanner settings are saved.

Description

Saves the settings for the current scanner to an .ini file.

Syntax

Visual Basic
Public Sub SaveSettings( _
   ByVal FileName As String _
)

Parameters

FileName
The full path and filename of the .ini file where the scanner settings are saved.

Remarks

The same .ini file can be used for multiple scanners because the settings are saved under a different section for each scanner. The section name used in the .ini file is the name of the scanner driver.

See Also

ISISXpress Object


ScanBatch Method

ScanBatch Method

Description

Starts a batch scan process.

Syntax

Visual Basic
Public Sub ScanBatch()

Remarks

During the scan process a Scanning Event is fired before the scan to allow the filename to be changed. If the UseCompression Property is false then Progress Events will be fired during the scan. After a page has completed, the Scanned Event will fire.

If the UseSchema Property is true, then ISIS Xpress will generate a naming schema to use for filenames. The generated filename can be checked and changed in each Scanning Event.

IMPORTANT! The ScanBatch method will not finish until the FeederEmpty Event StopScan Parameter is set to true in the FeederEmpty Event to indicate the batch is done or until the Cancel Method is called.

When the scanner feeder is empty, a FeederEmpty Event is fired. This event may fire after each scan if you are using a scanner that does not have a feeder or a scanner that cannot detect paper in the feeder.

See Also

ISISXpress Object | FeederEmpty Event | Cancel Method | Scanning Event | Progress Event | UseCompression Property | UseSchema Property | Scanned Event


ScanSingle Method

ScanSingle Method

Description

Scans a single page and stores it in the file specified by the FileName Property.

Syntax

Visual Basic
Public Sub ScanSingle()

See Also

ISISXpress Object | FileName Property


Select Method

Select Method
hWnd
A valid window handle.

Description

Displays a predefined dialog box that allows the user to choose a scanner, add a scanner, or configure a scanner.

Syntax

Visual Basic
Public Sub Select( _
   Optional ByVal hWnd As Variant _
)

Parameters

hWnd
A valid window handle.

Remarks

The dialog box will be modal if the forms window handle is passed in.

See Also

ISISXpress Object


SelectConnected Method

SelectConnected Method
hWnd

Description

Displays a dialog box that allows the user to choose a connected scanner, add a scanner, or configure a scanner.

Syntax

Visual Basic
Public Sub SelectConnected( _
   Optional ByVal hWnd As Variant _
)

Parameters

hWnd

See Also

ISISXpress Object


SettingRationalGet Method

SettingRationalGet Method
Numer
The numerator for the rational type.
Denom
The denominator for the rational type.

Description

The method to get a rational for the current scanner setting.

Syntax

Visual Basic
Public Sub SettingRationalGet( _
   ByRef Numer As Long, _
   ByRef Denom As Long _
)

Parameters

Numer
The numerator for the rational type.
Denom
The denominator for the rational type.

See Also

ISISXpress Object


SettingRationalSet Method

SettingRationalSet Method
Numer
The numerator for the rational type.
Denom
The denominator for the rational type.

Description

The method to set a rational for the current scanner setting.

Syntax

Visual Basic
Public Sub SettingRationalSet( _
   ByVal Numer As Long, _
   ByVal Denom As Long _
)

Parameters

Numer
The numerator for the rational type.
Denom
The denominator for the rational type.

See Also

ISISXpress Object


Setup Method

Setup Method
hWnd
The parent window handle.
dwFlags
The options used to modify what is displayed by the predefined scanner settings dialog. See the ISX_SetupOptions enumeration for additional details.

Description

This method displays a predefined dialog that allows the user to change driver specific scanner settings.

Syntax

Visual Basic
Public Sub Setup( _
   Optional ByVal hWnd As Variant, _
   Optional ByVal dwFlags As Variant _
)

Parameters

hWnd
The parent window handle.
dwFlags
The options used to modify what is displayed by the predefined scanner settings dialog. See the ISX_SetupOptions enumeration for additional details.

Remarks

The predefined dialog can only be modified by using the dwFlags parameter.

See Also

ISISXpress Object


StringDefault Method

StringDefault Method

Description

The method to get a string value for the default scan setting.

Syntax

Visual Basic
Public Function StringDefault() As String

Return Type

A string that represents the string value for the default scan setting.

Remarks

This property is only available for Advanced settings.

See Also

ISISXpress Object | Overview


UnlockRuntime Method

UnlockRuntime Method
PW0
Unlock code 1.
PW1
Unlock code 2.
PW2
Unlock code 3
PW3
Unlock code 4.

Description

Unlock the ISIS Xpress control for use in runtime environments.

Syntax

Visual Basic
Public Sub UnlockRuntime( _
   ByVal PW0 As Long, _
   ByVal PW1 As Long, _
   ByVal PW2 As Long, _
   ByVal PW3 As Long _
)

Parameters

PW0
Unlock code 1.
PW1
Unlock code 2.
PW2
Unlock code 3
PW3
Unlock code 4.

See Also

ISISXpress Object


UnlockWeb Method

UnlockWeb Method
pVal
The string used to unlock the control.

Description

Unlock the ISIS Xpress control for use on web servers.

Syntax

Visual Basic
Public Sub UnlockWeb( _
   ByVal pVal As String _
)

Parameters

pVal
The string used to unlock the control.

See Also

ISISXpress Object


FeederEmpty Event

FeederEmpty Event
PageNumber
The page number of the scan that just completed.
StopScan
A boolean set by the user to indicate the batch process should end.

Description

An event indicating that the scanner feeder is empty.

Syntax

Visual Basic
Public Event FeederEmpty( _
   ByVal PageNumber As Long, _
   ByRef StopScan As Boolean _
)

Parameters

PageNumber
The page number of the scan that just completed.
StopScan
A boolean set by the user to indicate the batch process should end.

Remarks

This event can be used to notify the user that the scanner feeder is empty during a batch scanning process.

See Also

ISISXpress Object


Progress Event

Progress Event
Percent
A long indicating how much of the scan has completed.

Description

An event indicating how much of the scan has completed.

Syntax

Visual Basic
Public Event Progress( _
   ByVal Percent As Long _
)

Parameters

Percent
A long indicating how much of the scan has completed.

Remarks

If the UseCompression Property is true then Progress Events will not be fired during the scan.

See Also

ISISXpress Object | UseCompression Property


Scanned Event

Scanned Event
PageNumber
The page number of the scan that just completed.

Description

An event indicating a scan has completed.

Syntax

Visual Basic
Public Event Scanned( _
   ByVal PageNumber As Long _
)

Parameters

PageNumber
The page number of the scan that just completed.

Remarks

This event is fired after a scan to allow the user to check or set the hDib Property.

See Also

ISISXpress Object


Scanning Event

Scanning Event
PageNumber
The page number of the scan that is starting.

Description

An event indicating a scan is starting.

Syntax

Visual Basic
Public Event Scanning( _
   ByVal PageNumber As Long _
)

Parameters

PageNumber
The page number of the scan that is starting.

Remarks

This event is fired before a scan to allow the user to check or modify the FileName Property.

See Also

ISISXpress Object


ISX_DataTypeInfo Enumeration

ISX_DataTypeInfo Enumeration

Description

Option values for the data type the information is encoded in for the current scanner setting.

Members

Member | Value | Description
ISX_RangeLong | 0 | A range of longs. For example 0 - 99.
ISX_ListLong | 1 | A list or array of longs. For example 200, 300, 400, 500.
ISX_ListString | 2 | A list or array of strings. For example "8.5 x 11 letter", "8.5 x 14 legal, and etc..
ISX_String | 3 | A string.
ISX_Long | 4 | A long. This can also be used for a byte or a short.
ISX_Rational | 5 | A rational. See the SettingRationalGet and the SettingRationalSet methods for more information. This data type is only available for Advanced settings.
ISX_ListRational | 6 | A list or array of rationals. For example 200/1, 300/1, 400/1, 500/1. This data type is only available for Advanced settings.
ISX_RangeRational | 7 | A range of rationals. For example 1/1 - 1200/1. See the RationalStep Method for the increment between rationals. This data type is only available for Advanced settings.

Remarks

This value is set by using the DataType Property.

See Also

DataType Property | SettingRationalGet Method | SettingRationalSet Method | RationalStep Method


ISX_ErrorLevels Enumeration

ISX_ErrorLevels Enumeration

Description

Option values for the error level to use for the ISIS Xpress control.

Members

Member | Value | Description
ISX_Production | 0 | The default error level. This setting will produce the minimum amount of error information.
ISX_Development | 1 | This setting will produce additional error information that is useful during the development process.
ISX_Detailed | 2 | This setting will produce detailed error information that is useful when debugging a problem during the development process.

Remarks

The default value is ISX_Production.

This value is set by using the DebugErrorLevel Property and is used to help debug an application during development.

See Also

DebugErrorLevel Property


ISX_Errors Enumeration

ISX_Errors Enumeration

Description

Option value for error numbers and error descriptions for the various errors that can occur.

Members

Member | Value | Description
ISX_SCANERR_PIX | 10000 | ISIS driver error. An error occurred when communicating with the ISIS scanner driver. If the RaiseError property is false, check the ErrorNumber and ErrorDescription properties for extended information that may be returned from the driver.
ISX_SCANERR_NOSCANNER | 10001 | No scanner is loaded. No scanner driver is currently loaded. Many ISIS Xpress properties and methods require a scanner to be loaded before they can be used. ISIS Xpress tries to load the default scanner when the control is first loaded, and will load a new driver when the ScannerName or ScannerSelect property is set.
ISX_SCANERR_BADINDEX | 10002 | Index out of range. An invalid index was used with the SettingLong or SettingString property arrays. The index parameter must be in the range of 0 to ListCount 1.
ISX_SCANERR_BADLENGTH | 10003 | String too long. An invalid scanner name was assigned to the ScannerName property.
ISX_SCANERR_OUTOFMEMORY | 10004 | Out of memory. ISIS Xpress could not allocate enough memory to perform the desired operation.
ISX_SCANERR_BADVALUE | 10005 | Invalid scanner setting value. An invalid value was assigned to a scanner setting. Every scanner has a different set of legal values for its setting. These values, or choices, can be queried using the appropriate choice properties to insure that a value is legal before it is assigned.
ISX_SCANERR_BADSCHEMA | 10006 | Invalid filename schema. An invalid schema was set for the FileSchema property.
ISX_SCANERR_NOTAVAIL | 10007 | Setting not available. A property was queried or set that is not available for a particular setting. For example, if the ScanSetting property is set to ISX_PageSize, the RangeMinimumLong property will return this error. For this property, the SettingString property must be used.
ISX_SCANERR_INI | 10008 | Ini File error. An error occurred either reading or writing the current settings to an ini file.
ISX_SCANERR_CANCEL | 10009 | Cancel performed. The cancel method was called to stop scanning.
ISX_SCANERR_NODIB | 10010 | No DIB available. There was no DIB currently created and available.
ISX_SCANERR_SEQ | 10014 | Sequence Error. An action was performed that is invalid at this time. For instance, calling ScanBatch or ScanSingle methods while the scanner is already scanning.
ISX_SCANERR_SAVETYPE | 10015 | Save Type. There was a problem with the save type.
ISX_SCANERR_NOLICENSE | 10016 | No License. No valid license was found for ISIS Xpress.
ISX_SCANERR_WIN95 | 10017 | Will not run on Windows 95. ISIS Xpress will not run on Windows 95.
ISX_SCANERR_GENERAL | 10100 | Generic ISIS Error. A nonspecific error occurred.

Remarks

If the RaiseExceptions Property is set to true, ISIS Xpress will throw COM Exceptions which contain the error code and error description. If the RaiseExceptions Property is set to false, ISIS Xpress will provide error codes through the ErrorCode Property and the error description through the ErrorDescription Property.


ISX_Evaluation Enumeration

ISX_Evaluation Enumeration

Description

Option values for the licensing evaluation choices that are available with ISIS Xpress.

Members

Member | Value | Description
ISX_TrialDialog | 0 | After the trial period has expired a dialog is displayed each time the ISIS Xpress toolkit is accessed.
ISX_Timeout | 1 | After the trial period has expired the ISIS Xpress toolkit will no longer function.

Remarks

The default value is ISX_TrialDialog.

This value is set by using the EvaluationMode Property of the ISISXpress Object.

See Also

EvaluationMode Property | ISISXpress Object


ISX_SaveFileType Enumeration

ISX_SaveFileType Enumeration

Description

Option values for the file format to use when saving images.

Members

Member | Value | Description
ISX_TIFF_Raw | 0 | No compression.
ISX_TIFF_PackBits | 1 | Packbits compression.
ISX_TIFF_G3 | 2 | CCITT Fax Group 3 compression.
ISX_TIFF_G3M | 3 | CCITT Fax Modified Group 3 compression.
ISX_TIFF_G4 | 4 | CCITT Fax Group 4 compression.
ISX_JPEG_Color | 5 | JPEG Color compression.
ISX_JPEG_Gray | 6 | JPEG Gray compression.
ISX_DCX | 7 | DCX compression.

Remarks

This value is set by using the SaveFileType Property.

1 bit (Black and White) images can be saved to any of the five TIFF file formats or to the DCX file format. 8 bit (Gray Scale) images can be saved to the TiffRaw,TiffPackbits or JpegGray file formats. 24 bit (Color) images can be saved to the TiffRaw,TiffPackbits or JPEG file formats.

See Also

SaveFileType Property


ISX_ScanAheadChoice Enumeration

ISX_ScanAheadChoice Enumeration

Description

Option values for the ISX_ScanSetting.ISX_ScanAhead setting.

Members

Member | Value | Description
ISX_Off | 0 | Scan ahead is off or disabled.
ISX_On | 1 | Scan ahead is on or enabled.

Remarks

These options allow you to turn on or off the scan ahead option.


ISX_ScanSetting Enumeration

ISX_ScanSetting Enumeration

Description

Option values for determining which scanner setting to query or set.

Members

Member | Value | Description
ISX_XResolution | 0 | The scanner's horizontal resolution in DPI.
ISX_YResolution | 1 | The scanner's vertical resolution in DPI.
ISX_PageSize | 2 | The total area available to the scanner.
ISX_Brightness | 3 | The scanner's brightness. If available, -3 will set to auto brightness, -2 will auto darken, and -1 will auto lighten. Values from 0 to RangeMaximumLong Property will incrementally change the brightness.
ISX_Contrast | 4 | The scanner's contrast. A value of 0 means auto contrast or no contrast control is available.
ISX_XPosition | 5 | Specifies the distance in pixels from the left edge of the page to the start of the image.
ISX_YPosition | 6 | Specifies the distance in pixels from the top edge of the page to the start of the image.
ISX_ImageWidth | 7 | Specifies the number of columns of pixels (width) in an image.
ISX_ImageLength | 8 | Specifies the number of rows of pixels (height) in an image.
ISX_ResUnit | 9 | Specifies the unit of measurement for XResolution and YResolution. This setting is not available for all scanners and if it is not available the units are assumed to be DPI. 1. No absolute unit of measurement. Used for images that may have a non-square aspect ratio, but no meaningful absolute dimensions. 2. Resolution is specified in dots per inch. 3. Resolution is specified in dots per centimeter.
ISX_Type | 10 | Specifies the scanning source (flatbed, feeder, and etc.) on those scanners that support this functionality. See the ISX_Source Enumeration more information.
ISX_ScanAhead | 11 | Specifies if the scanning source should enable the ability to continuously scan pages ahead of the current page the application is processing on those scanners that support this functionality. See the ISX_ScanAheadChoice Enumeration for more information.
ISX_ScanAheadMaxPages | 12 | If ScanAhead is enabled, this setting specifies the maximum number of pages to scan ahead. A zero value means to scan until the feeder is empty.
ISX_ScanAheadPages | 13 | If ScanAhead is enabled and this setting is supported, it will determine how many pages have been scanned in ahead. On some scanners this value will not be an accurate measurement for how many pages are scanned in ahead. Therefore, use this setting as a general indicator that there are pages waiting that have been scanned in ahead. This setting is read-only.
ISX_SamplesPerPixel | 14 | Indicates how many values each pixel uses to represent its data. Possible values are: 1 sample per pixel = Binary black/white) and gray scale images; 3 samples per pixel = RGB color images.
ISX_BitsPerSample | 15 | Indicates how big a sample is. Typical values are: 1 = Binary; 4 = four-bit gray scale (16 shades of gray); 8 = eight-bit gray scale (256 shades of gray); 24 = 24-bit color.
ISX_AdvancedTag | 16 | Specifies the scanner's advanced tag number.

Remarks

All scanner settings are modified by setting the ScanSetting Property to the appropriate setting and then using one of the setting properties such as the SettingLong Property or the SettingString Property to set up the scanner.

Before modifying a setting, the setting should be checked to see if it is supported and the choices for a setting should be queried to make sure the desired value is legal for the particular scanner.

The following table illustrates how to set a scanner mode. This information assumes that the scanner is capable of each mode.

Mode SamplesPerPixel BitsPerSample
Black/White 1 1
16 Level Gray 1 4
256 Level Gray 1 8
24-bit Color 3 8

Note: Palletized color images are not supported.

See the Overview topic for more information on Scanner Settings and examples.

Example

The following code could be used to set the scanner mode to 256-level gray scale.
ISISXpress.ScanSetting = ISX_ScanSetting.ISX_SamplesPerPixel
ISISXpress.SettingLong = 1
ISISXpress.ScanSetting = ISX_ScanSetting.ISX_BitsPerSample
ISISXpress.SettingLong = 8

The following code could be used to set the Brightness for the scanner.

ISISXpress.ScanSetting = ISX_ScanSetting.ISX_Brightness
ISISXpress.SettingLong = 23

Not all settings have an integer setting such as Brightness. The ISX_ScanSetting.ISX_PageSize property is usually a string and must be set with the SettingString property. For Example:

ISISXpress.ScanSetting = ISX_ScanSetting.ISX_PageSize
ISISXpress.SettingString = "scanners maximum"

See Also

ScanSetting Property | SettingLong Property | SettingString Property | Overview


ISX_SetupOptions Enumeration

ISX_SetupOptions Enumeration

Description

Option values for the Setup Method to modify what is displayed by the predefined scanner settings dialog.

Members

Member | Value | Description
ISX_Normal | 0 | Displays the normal scanner settings dialog.
ISX_Binary | 1 | Displays a scanner settings dialog that only allows binary modes. This prevents the user from choosing grayscale or color modes.
ISX_Area | 2 | Displays a scanner settings dialog that shows the Area button. When the Area button is clicked, an Area dialog will be displayed.
ISX_Return | 4 | Displays a scanner settings dialog that will return SCANERR_CANCEL if the user clicks the Cancel button. If this flag is not set, then the settings dialog will always return with no error.
ISX_AreaPreview | 8 | Displays a scanner settings dialog that shows the Area button. When the Area button is clicked, an Area dialog, containing a preview window, will be displayed.

Remarks

The predefined scanner settings dialog allows the user to change driver specific scanner settings.

ISX_SetupOptions is a flag enumeration that can be treated as a bit field or a set of flags. The following example shows how this enumeration can be used:

Setup (hWnd, ISX_SetupOptions.ISX_Binary | ISX_SetupOptions.ISX_Return);

See Also

Setup Method


ISX_Source Enumeration

ISX_Source Enumeration

Description

Option values for the ISX_ScanSetting.ISX_Type setting.

Members

Member | Value | Description
ISX_Automatic | 0 | Scan from the Automatic Document Feeder (ADF) if detected; otherwise, scan from the flatbed.
ISX_Transparency | 1 | Scan from the transparency unit.
ISX_Flatbed | 2 | Scan from the flatbed.
ISX_Feeder | 3 | Scan from the feeder (front side only if duplex).
ISX_Duplex | 4 | Scan in duplex mode.
ISX_BackFront | 5 | Scan in duplex mode, but return the back side of the page first.
ISX_BackOnly | 6 | Scan only the back side of the page (duplex scanner).


Empty Index Entry
Send Feedback

Glossary Item Box

Empty Index Entry

The index entry you selected has no target topics associated with it.

If you have chosen a parent entry, please select a child entry.


Topic Not Found
Send Feedback

Glossary Item Box

Topic Not Found

The link you just clicked was not able to connect to the target page.

Some possible reasons and remedies are as follows:

Reason | Remedy
Destination topic is not part of the area you specified in the Filtered by field. | Either select another filter or select (no filter).
The URL of the destination topic is incorrect or has changed. | Use the index or the search function instead.
Problems with the help installation. | Rerun Setup for the product this help is related to and select the 'Repair' option.

Additional help is available for filters, search, and the index.

Click Back to return to the page you were on.

The target parameters are:

Keyword:
Index Moniker:
URL:


Project Overview

Project Overview
Send Feedback

Description

Accusoft ISIS Xpress 4

Projects

Project | Description
AccusoftISISXpress4 | Accusoft ISIS Xpress 4


Project Overview

Project Overview
Send Feedback

Description

Accusoft ISIS Xpress 4

Classes

Class Module | Description
ISISXpress | The ISISXpress Object is the main controller component of the ISIS Xpress toolkit.

Public Enumerations

Enumeration | Description
ISX_DataTypeInfo | Option values for the data type the information is encoded in for the current scanner setting.
ISX_ErrorLevels | Option values for the error level to use for the ISIS Xpress control.
ISX_Errors | Option value for error numbers and error descriptions for the various errors that can occur.
ISX_Evaluation | Option values for the licensing evaluation choices that are available with ISIS Xpress.
ISX_SaveFileType | Option values for the file format to use when saving images.
ISX_ScanAheadChoice | Option values for the ISX_ScanSetting.ISX_ScanAhead setting.
ISX_ScanSetting | Option values for determining which scanner setting to query or set.
ISX_SetupOptions | Option values for the Setup Method to modify what is displayed by the predefined scanner settings dialog.
ISX_Source | Option values for the ISX_ScanSetting.ISX_Type setting.


Enumerations Object

Enumerations Object
See Also Members Send Feedback

Object Model

See Also

Enumerations Members


Enumerations Object Members

Enumerations Object Members
See Also Overview Send Feedback

See Also

Enumerations Overview


a
about
after
against
all
along
also
although
am
among
an
and
are
as
at
be
became
because
been
being
between
but
by
can
caution
come
could
details
did
do
does
doing
done
during
each
early
far
finally
for
found
from
had
has
have
he
her
here
his
how
however
I
if
in
include
including
information
into
is
it
its
late
later
made
many
may
me
med
might
more
most
near
no
non
none
nor
not
note
of
off
on
only
or
other
over
saw
see
seen
several
she
since
so
some
such
than
that
the
their
them
then
there
these
they
this
those
through
tip
to
too
under
until
up
us
use
very
warning
was
we
were
when
where
which
while
who
with
you