Howard Brazee wrote:
On Thu, 21 Dec 2006 23:22:34 +0900, David Crayford
<[EMAIL PROTECTED]> wrote:
For several reasons. Firstly, because your typical dynamically loaded
COBOL or HLASM program is monolithic with one entry point and a
parameter list. If you have lots of entry points you have to load and
delete lots of modules. I have seen some nice tricks with vector tables
at fixed offsets used in assembler programs though.
Trouble is, I've seen cases where a program depends on a .dll and fail
when the .dll gets updated. I don't have enough familiarity to know
whether the programmer assumed something he shouldn't or whether the
.dll documentation wasn't clear - but the programs failed anyway (I
almost said "abended", but I am thinking of two different PC operating
systems).
I think you are referring to "DLL hell", which was a big problem with
the Windows operating system.
The problem was caused by Microsoft shipping different versions of a DLL
with the same name. Of course,
Windows is a very flaky operating system and doesn't have a concept like
a CDE with use counts. A common
problem was that the behavior of windows explorer would change if you
loaded IE with a different version
of the DLL. On UNIX platforms it's common practice to version stamp the
DLL. For example, the XML Toolkit for z/OS
ships DLLs with names like libxml4c5_6_0.dll or IXM4C56 for the PDS load
modules. If a DLL is updated and
backwards compatibility is not guaranteed then the version number is
changed.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html