🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.ms-windows.programmer.misc
Article #1917

Re: problems with CTL3D.DLL

#1917
From: Brian Matusz
Date: Thu, 31 Dec 1992 02:34
54 lines
2608 bytes
In article <1992Dec31.021603.21231@emr1.emr.ca> jagrant@emr1.emr.ca (John Grant) writes:

[portions deleted]

>Problems with CTL3D.DLL
>-----------------------  
>  1. before *anything* in your app runs (i.e. even before you check for
>     'first instance', something in CTL3D.LIB (linked in) tries to find
>     CTL3D.DLL.  It appears to look in at least 3 directories:
>	- ...\windows
>	- ...\windows\system
>	- the application's home directory (GetModuleFileName)
>     (I tried placing it in each of the 3 directories to see
>      what it was looking for and where).
>
>     If it can't find CTL3D.DLL, it chokes and displays:
>	+----------------------+
>	|     File Error       |
>	| Can't find CTL3D.DLL |
>	+----------------------+
>     and then terminates the application before it even gets a
>     chance to run.

True ... but this is characteristic of Windows, not Ctl3d.  Unfortunately,
there is no better way to do it (without much more effort).  I'm not
up on the techniques, or if it can be done, but I assume it can ...
Instead of linking with the LIB, looking for the DLL, and then making
the links on the fly.  (I could be way off here...)

>     This is distinctly unfriendly! At the very least, it should
>     keep it's mouth shut and quietly disable itself and keep
>     going, but without 3d effects.  If it must check for CTL3D.DLL
>     it should only do it in Ctl3dRegister(), so only if *I* choose
>     to register it, will it croak if it can't find it.

Because it's a Windows thigns and not a ctl3d thing, that's not really
a good thing to do.  Agreed, it's a good thing to do in the case of
Ctl3d, but that's not where the problem is.

>     I had intended to set a BOOL ctl3d flag myself, if I could
>     find CTL3D.DLL (in either of the 3 directories I described
>     above), and then call the ctl3d... functions only
>     if ctl3d==TRUE, but it croaks before I even have a chance
>     to do anything.

[Rest deleted]

Hope it helps!
Brad Wilson (via a friend's account)
-- 

---
bcmatusz@vela.acs.oakland.edu
"Use DEVICE=EXXON to screw up your environment."
Technical Details
Message-ID: <1992Dec31.023406.4767@vela.acs.oakland.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!howland.reston.ans.net!zaphod.mps.ohio-state.edu!caen!destroyer!wsu-cs!vela!bcmatusz
References: <1992Dec31.021603.21231@emr1.emr.ca>

Show Full Headers
Complete Article Headers
Newsgroups: comp.os.ms-windows.programmer.misc
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!howland.reston.ans.net!zaphod.mps.ohio-state.edu!caen!destroyer!wsu-cs!vela!bcmatusz
From: bcmatusz@vela.acs.oakland.edu (Brian Matusz)
Subject: Re: problems with CTL3D.DLL
Message-ID: <1992Dec31.023406.4767@vela.acs.oakland.edu>
Organization: Oakland University, Rochester MI.
References: <1992Dec31.021603.21231@emr1.emr.ca>
Date: Thu, 31 Dec 1992 02:34:06 GMT
Lines: 54