DLL.DefineEnvironmentByDLL method defines a new environment for loading dynamic link libraries and calling their routines. The “bitness” of the environment (32- or 64-bit) depends on the “bitness” of the library specified in the method’s DLLPath parameter. This library also defines the “bitness” of the corresponding hosting process (tcHostingProcess.exe), into which TestComplete will load libraries. Note that the
DLL.DefineEnvironmentByDLL method does not create the hosting process itself. The process will be created later on demand (for instance, when you call the
The method is applied to the following object:
The method has the following parameter:
The file name, extension and absolute or relative path to a dynamic link library whose “bitness” will be used as the “bitness” of the environment (and of the hosting process) to be created. If the file extension of the library is omitted,
DefineEnvironmentByDLL uses .dll. If the path is not specified, the method searches for the DLL in the following order:
- The folder, in which TestComplete is installed.
- The current working folder of the TestComplete process.
- The <Windows>\System32 (or the <Windows>\System) folder.
- The <Windows> folder.
- The folders specified in the PATH variable.
IDLLAccessProcess object that provides methods for defining DLL types, loading DLLs in memory, defining new data types for routine parameters and creating new instances of these data types in the environment defined by the
The maximum number of hosting processes (and corresponding environments) created by TestComplete for loading DLLs is two (one 32-bit process for 32-bit libraries and one 64-bit process for 64-bit libraries). If you try to call the
DefineEnvironmentByDLL method twice or more times specifying libraries with the same “bitness” (that is, if you try to define more than one environment with the same “bitness”), the method will not create a new environment and will return a reference to the same
IDLLAccessProcess object created before. You can define only one 32-bit environment and only one 64-bit environment in one script.
For an example of the
DefineEnvironmentByDLL method’s use, see Specifics of Using 32- and 64-bit DLLs.