Techniques to be demonstrated in this sample:

Sample FSISample4 is another loader example with a more complex use case that can be described as follows:

-	The client knows that it has to connect to a panel network that is compatible to a perticular
   FSM5000FSI Library version, e.g FSI v2.0.15.
   The FSI library version 2.0.x corresponds with API version 3 while the FSI library version 1.x corresponds
   with API version 2.
-  For backward compatibility the FSI Library version 2.0.x DLL-Loader can load API version 2 DLL's as well.
   This can also be tested with this sample program.
-  This sample program is not designed to dynamically select a FSI Library version. The decision is taken at
   compile time as the following is hard coded:
   * namespace FSM5000FSIAPI.Version3 or FSM5000FSIAPI.Version2
   * RequiredAPIID
   * FSI Library ID, e.g. "2.0.15.1"
   Default implementation for this sample is for loading API v3, this can of course be changed for own test
   scenarios.
   For a productive client the implementation needs to be extended in a way that the decision about the FSI
   Library version and its related API version to be loaded can be taken at runtime.

-	The client can print useful error or warning messages for one of the following scenarios:
   *	The given library is present but does not support the required API
   *	The given library is not present (must be installed)
	*  The API supported by the selected FSM5000FSI is newer than the API supported by the client. A warning
	shows, that an update of the SDK is available (request to update the client).

Except for the more complex loading scenario that shows some additional features of the loader interface the
functionality is nearly identical to sample 3.

Pre-conditions to build and run the sample:

- Copy the content of the SDKs \Bin directory into the .\sdk directory to run the sample.
- If necessary remove all versions of FSM5000FSI from the directory except the one that fits to the version
  of your test panel.
- Adopt the references to FSM5000FSILoader and FSM5000FSIAPI in the project file (both files located in
  \sdk after copying)
- Change the hardcoded settings to match your test configuration.
- If you want to have more detailed trace output you can change the line
  fsi.SetTraceLevel(SourceLevels.Warning);
  into
  fsi.SetTraceLevel(SourceLevels.Verbose);
