Older Newer
Mon, 27 Dec 2021 08:38:35 . . . . SyneRyder [Improved example]


Changes by last author:

Added:
= 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 ==

<code>

// 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");

</code>

== 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.