AFP 3

The actual AFP exists in a triple edition. These editions are at the bottom of the files AFP3.8.EXE (VFP8R), AFP3.7.EXE (VFP7R) and AFP3Engine.DLL (VFP8T). The source code of the individual files is to a large extent identical, the difference between them being the Visual FoxPro runtime library used (and indicated in parentheses).

The two EXE variants can be invoked from the browser and in the VFP command window through DO. The first parameter always indicates the configuration file to be used (afp.config). In both cases numerous additional parameters can be handed over. These parameters are explained in the subsequent section. A typical invocation for the start of the AFP would look like this:

AFP3 afp.config server verbose debug

In the DLL version the same parameters can be handed over, although they must be coded.  CHR(1) separates the configuration file from the others, CHR(2) the subsequent individual parameters. The DLL version should never be invoked directly, as the invocation may change in later versions. For users who like to experiment – the object name is AFP3.Core.

Each AFP instance is made up of a CEngineHost object that evaluates all parameters, sets up the environment and then starts a CThread object. AFP implements different thread classes. The thread that you know to be the actual AFP – and to which you gain access via the thread object – is the CAFPThreadEngine. In addition, there is a Server Thread, a CleanUp Thread and a WatchDog Thread. There will be more threads in later versions. You may also define your own threads that are derived from the class CThread. Each of these threads can be started completely independent of the others. You may also load an engine thread only; there is no need for the AFP server to run.

More:

Server

Engine

Debug

Thread

Verbose

Silent

Threadid

Parameter