Article View: comp.sys.ibm.pc.misc
Article #12248Re: HELP - 'undefined dynalink' error message
From: Gordon S. Hlavenka
Date: Mon, 22 Dec 1997 00:00
Date: Mon, 22 Dec 1997 00:00
49 lines
3385 bytes
3385 bytes
Martin Davies wrote (whittled down to the salient parts):
> I've just installed [doesn't matter what he installed] ... and
> installed the drivers ... I'm now finding that some of my
> applications... fail to run. Specifically, they... die with
> the message "Application error - call to undefined dynalink".
> Other applications... seem to run OK.
Windows software uses "Dynamic Link Libraries" which are all named
"(something).DLL". These libraries are collections of subroutines which
are somehow (by function, by vendor, by ...?) related to each other.
For example, a commonly-used one is called "CTL3D.DLL" and contains
routines for building dialog boxes, buttons, and so on which have a "3D"
appearance. When a programmer wants to draw a pretty 3D button in his
program, he just calls the function from CTL3D.DLL and gets on with his
life (assuming he has one). However, since CTL3D.DLL is not guaranteed
to exist on your system, the installer for that program must copy it
over for you.
So here's where we get into trouble... See, a DLL file can live in
several places: C:\WINDOWS, C:\WINDOWS\SYSTEM, and whatever directory
the application lives in are the three most likely candidates. And not
all DLL files with the same name are identical. AND the installers are
not always smart enough to find pre-existing copies and determine
whether or not to replace them. Windows will use the first CTL3D.DLL it
finds. Depending on how your PATH is set up, it may or may not find the
correct version. If the program calls a function which does not exist
in the DLL file, Windows will give you that "undefined dynalink" error.
Usually, if you find all copies of all DLL files on your system, copy
the most recent versions of them all into C:\WINDOWS or
C:\WINDOWS\SYSTEM, then delete all the other copies (BTW - this is a
very labor-intensive process), the dynalink problems will clear up. But
not always. And some programs will crash when given a _newer_ DLL, and
so on, and so on. Yech.
Anyway, the "quick fix" is for you to reinstall the programs which are
complaining. This _should_ force them to overwrite the offending DLL
file with the version they prefer. And hopefully, the driver for your
new [whatever] will also be happy with those DLLs. If not, you have a
major mess on your hands. Usually the vendor of your new [whatever]
will have heard from about a million other customers having exactly the
same problem as you, and their tech support people will have a fix ready
and waiting.
--
Gordon S. Hlavenka www.crashelex.com gordon@crashelex.com
Grammar and spelling flames welcome.
Technical Details
Message-ID:
<67nj9l$sp7@bgtnsc03.worldnet.att.net>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<882831495snz@amdavies.demon.co.uk>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f53ba,c37edc769fcbbea5 X-Google-Attributes: gidf53ba,public X-Google-Thread: 1036bc,c37edc769fcbbea5 X-Google-Attributes: gid1036bc,public From: "Gordon S. Hlavenka" <gordon@crashelex.com> Subject: Re: HELP - 'undefined dynalink' error message Date: 1997/12/22 Message-ID: <67nj9l$sp7@bgtnsc03.worldnet.att.net> X-Deja-AN: 309545732 Content-Transfer-Encoding: 7bit References: <882831495snz@amdavies.demon.co.uk> Mime-Version: 1.0 Reply-To: gordon@crashelex.com To: Martin@amdavies.demon.co.uk Content-Type: text/plain; charset=us-ascii Organization: Crash Electronics, Inc. Newsgroups: comp.sys.ibm.pc.misc,demon.tech.pc