By Rob Salgado and Tav Hawkins (2 Oct 98)
Based on Yuh-Jye Chang's instructions (18 Mar 98).
Have Microsoft Visual C++ 5.0 installed.
Download the Win95/NT External Module Developer Kit.
Create a directory, extract everything (files and folders) into that directory. (We'll assume that n:\develop is the folder which contains external.dsw and the folders awt, filter, neat, etc...) There are three example projects, JMindSetObj, JVitalSignObj, and JGestureObj. The header files are in awt, io, lang, modules, neat, neat, and util. Some reference source code are in neat and modules directory.
In the n:\develop folder, Create a new folder, called JSimpleExternalObj.
Place your source and header files, e.g., JSimpleExternalObj.cpp and JSimpleExternalObj.h, in this folder.
Open external.dsw in Microsoft Developer Studio.
Select toolbar-menu item [File] -> [New...].
In the [New] dialog box, Click on the [Projects] tab.
Select [Win32 Dynamic-Link Library].
Type in for Project name: "JSimpleExternalObj" Change the Location: to "n:\develop\JSimpleExternalObj".
Check the entire Location path before continuing.
Select [Add to current workspace], Press [OK].
Select toolbar-menu item [Build] -> [Configurations...]
In the [Configurations] dialog box,
Under the JSimpleExternalObj project, Click on [Projects] tab.
Select [Win32 Debug].
Press [Remove] to remove it.
Press [Close].
Select toolbar-menu item [Project] -> [Settings...]
In the [Project Settings] dialog box,
In the [Settings For:] tree-view, Select JSimpleExternalObj.
Select the [C/C++] tab.
In the [Category:] pull-down menu, Select [General].
In the [Preprocessor Definitions:] text-line, Add ",_EXTERNAL_DLL" to the end of the line.
In the [Category:] pull-down menu, Select [Code Generation].
In the [Use run-time library:] pull-down menu, Select [Multithreaded].
In the [Category:] pull-down menu, Select [Preprocessor].
In the [Additional include directories:] text-line, Add "..\lang,..\util,..\io,..\net,..\awt,..\neat".
(This specifies that, from within the JSimpleExternalObj folder, we wish to include code from the sister folders lang, util, io, net, awt, neat, which are accessible as ..\lang, ..\util, ..\io, ..\net, ..\awt,and ..\neat.)
Select the [Link] tab.
In the [Output file name:] text-line, Modify the entry to read "../JSimpleExternalObj.dll" (so it will be created in the n:\develop folder).
In the [Object/library modules:] text-line, Add the libraries that you use (Yuh-Jye suggests that, usually, user32.lib is enough.).
Press [OK].
In the [Workspace] window, Select the [File View] tab.
Right-click on [JSimpleExternalObj files].
In the popup menu, select [Set as Active Project].
Right click on [JSimpleExternalObj files] again.
In the popup menu, select [Add Files into Project...].
In the [Add Files into Project...] dialog box,
We will next Add awt.lib, base.lib, neat.lib:
ADD any other required .lib files.
ADD your NeatTools Module .cpp and .h source and header files.
You may wish to organize your files into folders.
Right click on [JSimpleExternalObj files] again.
In the popup menu, select [New Folder...].
In the [Name of the new folder] text-line, type "Library Files".
In the [File extensions] text-line, type "lib". And so forth...
Drag files into the appropriate folder. (Subsequent files added to the project will be automatically placed in the appropriate folders.)
Now we're ready to build the module.
Right click on [JSimpleExternalObj files].
In the popup menu, Select [Build (selection only)] to build your JSimpleExternalObj.dll in the n:\develop folder. (You may wish to move your .dll files in the NeatTools directory.)
Now we're ready to run NeatTools with our external module.
Run NeatTools.
Load your external module with the [LM] button.