contents   index   previous   next



Link Libraries

 

Link libraries are dynamic link library files (.dll files) developed specifically to work with ScriptEase. ScriptEase can use any DLL, but the calling conventions needed to call routines in a DLL are necessarily more cumbersome than calling internal routines. ScriptEase extends the power and ease of using its link libraries by tying them to the internal data structures of ScriptEase. In this way, the data and routines in a link library are available with the same calling conventions of internal routines. Consider the two following code fragment:

 

   // Using dynamicLink

var v1 = SElib.dynamicLink("YourDll.dll", "FunctionOne", STDCALL, args ...);

var v2 = SElib.dynamicLink("YourDll.dll", "FunctionTwo", STDCALL, args ...);

 

   // Using a link library

#link <SElink.dll>

var v1 = FunctionOne(args ...);

var v2 = FunctionTwo(args ...);

 

As you can see in the first three lines, every time you want to call a routine from a general DLL, you must use the more cumbersome SElib.dynamicLink() method and its cumbersome calling conventions. Cumbersome calling conventions exist in any language that allows general DLL files to be called. But, notice the difference after a ScriptEase link DLL is linked into a script, as illustrated by the line, #link <SElink.dll>. The routines and data in the DLL are accessible in the same way as internal routines such as Screen.writeln().

 

Script libraries, scripts that end with jsh, can be used to define objects, methods, properties, functions, and data. The advantage of script libraries is that you may develop them quickly and alter them at any time. An advantage of link libraries is that they execute faster since they compiled executables.

 

The following sections explain various link libraries. To use these link libraries, they must be included in a script with the #link <> preprocessor directive. Most link libraries have a corresponding script library, jsh file, that simplifies their use even more.

 

See:

 

Com Object Link Library

DSP Link Library

GD Link Library

MD5 Checksum Link Library

SEDBC Link Library

Socket Link Library

UUCode Link Library