loadLib

Requires FM 1.0 Beta 9.0 (April 2008) or newer

Syntax

int loadLib(char *dllName)

Arguments

dllName
The name of the DLL to load.

Return

Returns a handle to the DLL, or 0 if the DLL could not be loaded.

Description

Loads a DLL into memory, allowing you to call the functions contained in that DLL.

Example

// This code loads the user32.dll
// DLL included with Windows and
// uses it to display a YES/NO
// Message Box.

int* lib_user32;
int* functionPointer;
int returnval;

// Load the DLL library
lib_user32 = loadLib("user32");
if (lib_user32) {

  // Get the function in the DLL
  functionPointer = getLibFn(lib_user32, "MessageBoxA");
  if (functionPointer) {

    // Call the function
    strcpy(str0, "The window text is here");
    strcpy(str1, "Caption Text");
    returnval = callLib(functionPointer, NULL, str0, str1, MB_YESNO);

    // Process return value
    if (returnval == IDYES)
      msgBox(MB_OK, "Yes!", "Yes was clicked");
    if (returnval == IDNO)
      msgBox(MB_OK, "No :(", "No was clicked");

  }
  else msgBox(MB_OK, "Error", "Function wasn't loaded");

  // Free the library DLL
  freeLib(lib_user32);

}
else msgBox(MB_OK, "Error", "DLL was not loaded");

See Also

callLib, getLibFn, freeLib

Comments

Everyone can add his comments about his experiences with this function here. Tips for using it are welcome, too.