Initialization of DLL extensions

FORMS programs usually use DLL extensions internally, so normally you do not need to use this feature.

When a DLL extension is loaded, then the C function specified in the DLLEntryPoint entry in the ini file is called.

The C function must have the signature shown below. The function must return non-zero if successful, or 0 if there was an error.

#pragma pack(8)

typedef struct

{

    DWORD dwStructSize;      // Size, in bytes, of the structure

    DWORD dwEHVersion;      // FORMS application version

    DWORD dwEHFamily;      // ReadSoft product family, from the EEH_AppFamily enum

    DWORD dwEHApplicationID;      // Application identifier, from the EEH_AppID enum, or product family specific

    void *pApplicationObject;      // Pointer to EH C++ application object

    LPWSTR szIniFile;      // Name of Ehlocal.ini file, in UNICODE

    LPWSTR szIniSection;      // Name of section in Ehlocal.ini file, in UNICODE

    DWORD dwPluginInfo;      // Plug-in-specific information

    void *pPluginData;      // Pointer to plug-in-specific information

} EHC_DLLPluginEnv_t;

extern "C" DWORD EHPluginEntry( EHC_DLLPluginEnv_t *pEnvironment );

Initialization of FORMS extensions

Using an ActiveX object as a FORMS extension