In BAAN IV Tools, Dynamic Link Libraries (DLLs) are implemented. This
means that functions for common use can be programmed in a library and
linked to the object at function call at runtime.
By implementing DLLs, the size of objects can be reduced to a minimum,
because the standard program is no longer merged with each 4GL program
script.
To understand what DLLs means, consider for a moment the familiar 4GL
function sprintf$(). In older versions, every program that uses sprintf$
has a copy of it linked right in with the rest of the program. Just
imagine how many programs are out there with copies of sprintf$ compiled
inside them! So a lot of memory is wasted when each program has its own
copies of sprintf$ and all the other standard functions. Since the
copies are 100 per cent identical for all programs, why not find some
way to share them? This is exactly what dynamic link libraries provide:
a way to share functions among several programs running at the same
time.
DLLs provide other benefits besides sharing code. You can, for example,
upgrade a function within a DLL without recompiling all the applications
that use it.