SftTabs/DLL 6.0

Building Applications

Softel vdm, Inc.

This section describes how to prepare an application using the C or C++ programming language to successfully use SftTabs/DLL.

Updating Project Settings

Include Files
Lib Files
Adding The Lib File
Linking Statically
Resource Script
Additional Lib Files

Include Files

In order for #include files to be located in the SftTabs/DLL product directory, each project that uses SftTabs/DLL must be updated to search the product directory.

The default include directory name is \Program Files\Softelvdm\SftTabs DLL 6.0\Include unless changed during installation.

Make sure to update all configurations (both Debug and Release).

A) Visual C++ 6.0 and eMbedded Visual C++ 4.0

Using the Project, Settings... menu command, the Project Settings dialog is accessed so the Preprocessor settings can be modified.

B) Visual Studio .NET through Visual Studio 2010

Using the Project, Properties... menu command, the project's Property Pages are accessed so the #include directory search path settings can be modified.

Lib Files

In addition, the correct Lib file must be linked using the Link Input settings.

The Lib file name depends on the current processor target, according to the table below (see "Adding The Lib File").

The file name must be enclosed in quotes (") if the path contains spaces.

Make sure to update all configurations (both Debug and Release).

A) Visual C++ 6.0 and eMbedded Visual C++ 4.0

Using the Project, Settings... menu command, the Project Settings dialog is accessed so the Link settings can be modified.

B) Visual Studio .NET through Visual Studio 2010

Using the Project, Properties... menu command, the project's Linker, Input properties are accessed so Additional Dependencies can be modified.

Adding The Lib File

The application's executable (Exe or Dll) must be linked with the correct Lib file, depending on the target environment (see "Updating Project Settings" above).  If a Dll is used, it must be available and accessible at run-time for proper execution.  The Dll used at run-time depends on the Lib file used at link time.  If static linking is selected, the Dll is not required.

All required Lib and Dll files are located in the product directories \Program Files\Softelvdm\SftTabs DLL 6.0\Lib and \Program Files\Softelvdm\SftTabs DLL 6.0\Dll.

32-Bit Operating Systems

When building applications for with Windows 98, Windows ME, Windows 2000, Windows XP and above, one of the following Lib files is used:

Lib File

Dll File

Description

SftTabs_IX86_A_60.lib 

SftTabs_IX86_A_60.dll 

32-bit Applications using
ANSI
character representation

SftTabs_IX86_A_60_Static.lib  

none - see section "Linking Statically" below 

32-bit Applications using
ANSI
character representation

SftTabs_IX86_U_60.lib 

SftTabs_IX86_U_60.dll 

32-bit Applications using
UNICODE
character representation

SftTabs_IX86_U_60_Static.lib  

none - see section "Linking Statically" below 

32-bit Applications using
UNICODE
character representation

Depending on the Lib file used, the matching Dll must be distributed with your application.  When using a statically linked library, the Dll is not required, but the application must be updated as described in section "Linking Statically" below.

Please note that available processor support depends on the installed and purchased product versions.

Intel Itanium 64-Bit Processor / 64-Bit Operating Systems

When building applications for Intel Itanium (2) processors running Windows XP 64-Bit and above, one of the following Lib files is used:

Lib File

Dll File

Description

SftTabs_IA64_A_60.lib 

SftTabs_IA64_A_60.dll 

64-bit Applications using
ANSI
character representation

SftTabs_IA64_A_60_Static.lib  

none - see section "Linking Statically" below

64-bit Applications using
ANSI
character representation
See section "Linking Statically" below

SftTabs_IA64_U_60.lib 

SftTabs_IA64_U_60.dll 

64-bit Applications using
UNICODE
character representation

SftTabs_IA64_U_60_Static.lib  

none - see section "Linking Statically" below

64-bit Applications using
UNICODE
character representation
See section "Linking Statically" below

Depending on the Lib file used, the matching Dll must be distributed with your application.  When using a statically linked library, the Dll is not required, but the application must be updated as described in section "Linking Statically" below.

Please note that available processor support depends on the installed and purchased product versions.  For Intel 64-bit processor support, SftTabs/DLL 6.0 - Itanium Edition is required.

Intel 64-Bit Processor (with EM64T) / AMD 64-Bit Processor / 64-Bit Operating Systems

When building applications for Intel 64-bit processors, AMD Opteron and Athlon processors running Windows XP x64 and above, one of the following Lib files is used:

Lib File

Dll File

Description

SftTabs_x64_A_60.lib 

SftTabs_x64_A_60.dll 

64-bit Applications using
ANSI
character representation

SftTabs_x64_A_60_Static.lib  

none - see section "Linking Statically" below

64-bit Applications using
ANSI
character representation

SftTabs_x64_U_60.lib 

SftTabs_x64_U_60.dll 

64-bit Applications using
UNICODE
character representation

SftTabs_x64_U_60_Static.lib  

none - see section "Linking Statically" below 

64-bit Applications using
UNICODE
character representation

Depending on the Lib file used, the matching Dll must be distributed with your application. When using a statically linked library, the Dll is not required, but the application must be updated as described in section "Linking Statically" below.

Please note that available processor support depends on the installed and purchased product versions.  For 64-bit processor support, SftTabs/DLL 6.0 - x64 Edition is required.

Windows Mobile Operating Systems (PocketPC, SmartPhone, etc.)

When building applications for Windows Mobile platforms, the following Lib files and Dlls are used, based on the hardware's CPU:

CPU

Lib File

Dll File

ARMV4 

ARMV4\SftTabs_WinCE_U_60.lib 

ARMV4\SftTabs_WinCE_U_60.dll 

ARMV4\SftTabs_WinCE_U_60_Static.lib 

none - see section "Linking Statically" below 

ARMV4I 

ARMV4I\SftTabs_WinCE_U_60.lib

ARMV4I\SftTabs_WinCE_U_60.dll

ARMV4I\SftTabs_WinCE_U_60_Static.lib

none - see section "Linking Statically" below 

ARMV4T 

ARMV4T\SftTabs_WinCE_U_60.lib

ARMV4T\SftTabs_WinCE_U_60.dll

ARMV4T\SftTabs_WinCE_U_60_Static.lib

none - see section "Linking Statically" below 

MIPS16 

MIPS16\SftTabs_WinCE_U_60.lib 

MIPS16\SftTabs_WinCE_U_60.dll 

 

MIPS16\SftTabs_WinCE_U_60_Static.lib 

none - see section "Linking Statically" below 

MIPSII 

MIPSII\SftTabs_WinCE_U_60.lib 

MIPSII\SftTabs_WinCE_U_60.dll 

MIPSII\SftTabs_WinCE_U_60_Static.lib 

none - see section "Linking Statically" below 

MIPSII_FP 

MIPSII_FP\SftTabs_WinCE_U_60.lib 

MIPSII_FP\SftTabs_WinCE_U_60.dll 

MIPSII_FP\SftTabs_WinCE_U_60_Static.lib 

none - see section "Linking Statically" below 

MIPSIV 

MIPSIV\SftTabs_WinCE_U_60.lib 

MIPSIV\SftTabs_WinCE_U_60.dll 

MIPSIV\SftTabs_WinCE_U_60_Static.lib 

none - see section "Linking Statically" below 

MIPSIV_FP 

MIPSIV_FP\SftTabs_WinCE_U_60.lib 

MIPSIV_FP\SftTabs_WinCE_U_60.dll 

MIPSIV_FP\SftTabs_WinCE_U_60_Static.lib 

none - see section "Linking Statically" below 

MIPSSH3 

SH3\SftTabs_WinCE_U_60.lib 

SH3\SftTabs_WinCE_U_60.dll 

SH3\SftTabs_WinCE_U_60_Static.lib 

none - see section "Linking Statically" below 

MIPSSH4 

SH4\SftTabs_WinCE_U_60.lib 

SH4\SftTabs_WinCE_U_60.dll 

SH4\SftTabs_WinCE_U_60_Static.lib 

none - see section "Linking Statically" below 

emulator 

emulator\SftTabs_WinCE_U_60.lib 

emulator\SftTabs_WinCE_U_60.dll 

 

emulator\SftTabs_WinCE_U_60_Static.lib 

none - see section "Linking Statically" below 

x86 

x86\SftTabs_WinCE_U_60.lib 

x86\SftTabs_WinCE_U_60.dll 

 

x86\SftTabs_WinCE_U_60_Static.lib 

none - see section "Linking Statically" below 

Depending on the Lib file used, the matching Dll must be distributed with your application.  When using a statically linked library, the Dll is not required, but the application must be updated as described in section "Linking Statically" below.

Please note that available processor support depends on the installed and purchased product versions.  For Windows Mobile platforms support, SftTabs/DLL 6.0 - Windows Mobile Edition is required.

Linking Statically

This step is only required if a Lib file is selected above, that eliminates the Dll.  If the Dll is distributed with your application and a suitable Lib file is chosen above, this step can be skipped.

The entire project must be compiled with the SFTTABS_STATIC preprocessor symbol defined:

Make sure to update all configurations (both Debug and Release).

A) Visual C++ 6.0 and eMbedded Visual C++ 4.0

Using the Project, Settings... menu command, the Project Settings dialog is accessed so the C/C++ settings can be modified.

B) Visual Studio .NET through Visual Studio 2010

Using the Project, Properties... menu command, the project's C/C++, Preprocessor properties are accessed so Preprocessor Definitions can be modified.

Resource Script

When linking statically, your application must provide the resources for SftTabs/DLL controls.  This is accomplished by including the provided header file SftTabsResources.rci into the application's resource script.  This file uses predefined ID values which cannot be changed.

Make sure to update all configurations (both Debug and Release).

A) Visual C++ 6.0 and eMbedded Visual C++ 4.0

Update the resource script using the View, Resource Includes menu command:

B) Visual Studio .NET, Visual Studio .NET 2003 and Visual Studio 2005

Update the resource script by switching to Resource View using the View, Resource View menu command, then use the Edit, Resource Includes menu command:

In order for the include file to be located, the include path for Resources must be updated:

A) Visual C++ 6.0 and eMbedded Visual C++ 4.0

B) Visual Studio .NET through Visual Studio 2010

Additional Lib Files

This step is not required when building applications for Windows Mobile platforms.

Depending on the Lib file used, it may also be necessary to add additional Lib files to the application.  Typically, version.lib is required to allow successful linking. 

Make sure to update all configurations (both Debug and Release).

Certain features of the control require GDI+ support. This is available automatically on Windows XP, Windows Server 2003, Windows Vista and newer Windows versions. GDI+ is available as a redistributable for Windows 2000, Windows 98, and Windows Me from Microsoft (www.microsoft.com) as part of the Platform SDK (Windows XP and newer). Usually, it is sufficient to simply distribute the Dll gdiplus.dll in your application directory. If GDI+ support is not available, the features are simply disabled and alternate presentation methods are used, if necessary.

If you don't want to distribute gdiplus.dll, you can use the delayload feature of the linker by adding the following to your linker options:

/delayload:gdiplus.dll 

This will allow the control to use GDI+, if available, and use alternate presentation methods if it is not available.

A) Visual C++ 6.0

Using the Project, Settings... menu command, the Project Settings dialog is accessed so the Link settings can be modified.

B) Visual Studio .NET through Visual Studio 2010

Using the Project, Properties... menu command, the project's Linker, Input properties are accessed so Additional Dependencies can be modified.


Feedback / comments / error reports for this topic
© 2016 - Softel vdm, Inc. - www.softelvdm.com