This document describes a C++ sample program called Dictls32.exe that utilizes a File I/O API to display dictionary information from SPSS data files. It provides instructions on building the sample program using Microsoft Visual C++ and includes details on the constituent source code files that make up the program.
1. File I/O API - C++ Sample Program
Overview
Dictls32.exe (dictls16.exe in its 16 bit incarnation) is a C++ sample program which
utilizes the File I/O API. It is a multiple document interface (MDI) application which displays
the dictionary information from SPSS data files in one or more child windows. The user simply
selects “Open” from the “File” menu to get a standard Open File dialog. If the selected file is an
SPSS data file, its dictionary information is displayed in an edit control in a child window. The
application is terminated by selecting “Exit” from the “File” menu.
Building
The sample program has been built with versions 1.5 (16 bit) and 4.0 (32 bit) of Microsoft
Visual C++. Other compilers may work, but they have not been tested. In order to build the
sample program, perform the following steps:
1. Copy all the files from the spssdkio_dllsmpl_cpp directory on the distribution disk
to a directory on your hard disk.
2. Make sure spssdio.h is on the compiler’s search path - either by copying it to the
directory containing the sample program or by modifying the INCLUDE environment
variable.
3. Made sure spssio32.lib (spssio16.lib for a 16 bit build) is on the linker’s search
path - either by copying the file to the directory containing the sample program or by
modifying the LIB environment variable.
4. Use the nmake utility to build the application:
nmake -f dictls32.mak DEBUG=1
For a 16 bit build, substitute dictls16.mak for dictls32.mak .
Each of the makefiles recognizes two options which can either be set as environment variables
or defined on the command line. The first option is “DEBUG”. If this symbol is defined
(regardless of its value), the resulting executable will contain debug symbols. The default is not
to include debug symbols. The second option is “STATICMFC ”. If this symbol is defined
(regardless of its value), the resulting executable will contain statically-linked Microsoft
Foundation Classes (MFC) and C Run-Time. The default is to use DLL-resident versions of
MFC and the C Run-Time.
The 32 bit makefile writes its intermediate and target files to a subdirectory named “32” while
the 16 bit makefile writes the corresponding files to a subdirectory named “16”. In order to
execute the resulting application, spssio32.dll (spssio16.dll for 16 bit builds) must be
accessible at execution time.
Integrated Development Environment
Most users will opt to use Microsoft’s Integrated Development Environment (IDE) to build and
debug an application. The sample application is amenable to being built in this fashion. Simply
2. File I/O API - C++ Sample Program
open dictls32.mak by selecting “Open Workspace” from the “File” menu. You will have to
select “Settings” on the “Build” menu to specify the name of the target file, the name of the
required DLL, and the debug build command line.
If you are using the 16 bit IDE, open dictls16.mak via the “Open” item on the “Project”
menu. Here, the name of the target file and the debug build command line are specified via the
“Project” item on the “Options” menu, and the name of the required DLL is specified via the
“Debug” item on the “Options” menu.
Constituent Files
The following files are included as part of the sample program:
dictafx.cpp for building precompiled headers
dictafx.h includes the headers to be precompiled
dictdoc.cpp CDocument class CDictListDoc - does all the work
dictdoc.h Interface to class CDictListDoc
dictdoc.ico Icon for class CDictListDoc
dictlist.cpp CEditView class CDictListEditView and a CWinApp class
dictlist.h Interface to classes CDictListEditView and CDictListApp
dictls16.def Module definition for 16 bit application
dictls16.exe 16 bit application built with STATICMFC defined
dictls16.mak External makefile for 16 bit application
dictls16.rc Resources for 16 bit application
dictls32.exe 32 bit application built with STATICMFC defined
dictls32.mak External makefile for 32 bit application
dictls32.rc Resources for 32 bit application
dictmain.ico Icon for the application’s MDI frame window
dict-res.h Interface to the resources
-2-