Introduction
This is a server program that runs a service on a node on the LAN, and a DLL, PGODLL.dll (which uses BOSDLL.dll), so that user-programs, that have been built to use the functions in this DLL, may converse.
C/C++ programs include PGOmail.h, PGOcalls.h and the resource PGODLL.lib. PGOmail.h, PGOcalls.h and PGOfuncts.doc explain how it is done.
VB programs include PGODLL.bas, and use the public functions therein. PGODLL.bas and PGOfuncts.doc explain how it is done.
Installation
The DLLs
Place the file PGOdist.zip in a directory of your choice, e.g., C:\whatever. Extract Here (using unzip). Go to the directory choice\PGOw\PGOdist where you will find the file PGOdist.bat. You may wish to edit this file to reflect your preferences. Double-click on this. Unedited, this will copy PGODLL.dll (and BOSDLL.dll), into %systemroot%\system32, so that C/C++ programs can use it (them), and register them so that VB programs can use it (them).
The Service
Place the file PGOsvrDist.zip in a directory of your choice, e.g., C:\whatever. Extract Here (using unzip). Go to the directory choice\PGOw\PGOsvrDist where you will find the file PGOsvrDist.bat. You may wish to edit this file to reflect your preferences. Double-click on this. Unedited, this will create a directory C:\Program Files\Lymington and two sub-directories \Data and \Exe. Go to C:\ Program Files\Lymington\Exe where you will find the file PGOsRS.bat. You may wish to edit this file to reflect your preferences. Double-click this and/or add to Scheduled Tasks to run once at boot-up. This will run PGOs.exe on the local node. PGOs.exe may be stopped by double-clicking StopPGOsvr.exe; or, at any time, stopped, if running and restarted, by double-clicking on PGOsRS.bat.
Using the code
VC 6.0 projects: Place the PGODLL.dll in a directory on your path variable. Add the library PGODLL.lib to the project resources. Add the modules PGOmain.h and PGOcalls.h to the project. Use the routines therein.
VB 6.0 projects: Register the PGODLL.dll with regsvr32. Add the module PGODLL.bas to the project. Use the public routines therein.
VB source code to produce the above windows is to be found in the demo VB project.
Points of Interest
PGO mail was developed as a 'Homer' and completed in Feb 2003. It found a use with three programmers, at separated offices (two offices 250 miles apart), who were developing:
- A VB.NET GUI.
- An OPC server add-on data-source.
- A 48 modem line driver to capture region-wide data for the OPC server.
- With PGOs.exe running on an agreed node, the programs were co-operating within three weeks. The feedback to the implementation design was unusually early. Because the message i/face de-coupled the programs, the modifications/developments were also de-coupled.
- When the suite was moved to the target node, the service was confined to this node by using the IP 'localhost'.
History
- 3.4 Comment/Logging maintenance.
- 3.2 Server-side 'select' timeout is reduced from 50 to 1 millisecond. This allows faster transfer, though one's machine will get busier.