Amos Shapira wrote:

On 5/9/05, Shlomi Fish <[EMAIL PROTECTED]> wrote:


On Monday 09 May 2005 11:40, Amos Shapira wrote:


I'm not that deep into Windows administration, I just know that, as
far as I noticed,
I never had to bother with it.



Well recently I heard of someone who told me MS Freecell (!!) does not start
for him for some reason. (while almost everything else seems to be in working
order) I said I had no idea how to resolve it, but pointed him to free
(as-in-beer and possibly as-in-speech) alternatives.



And you think this is an example of "DLL hell"?
Do you imply that he installed some program with a DLL which
broke his freecell?


Actually, that's highly likely, yes. The following is pure guesswork, but educated one `-)

Following a recent thread in Wine-devel, FreeCell requires "cards.dll". On Win 9x, this is a 16 bits DLL, which means that FreeCell loads it as a stub through a "thunk" (FreeCell has always been 32 bit, even on Windows 3.11). On Windows NT and up, Cards.dll is a 32 bit DLL. FreeCell accordingly directly links with it. Unlike MS's usual behavior on such occasions, they did not call it "cards32.dll". As a result, you have cards using programs that can work on Windows 9x, and programs that can work on Windows NT+, but it's very hard to make a program that will work on both.

Frankly, this shouldn't matter so much. The interface for Cards.dll is undocumented, and so, in theory, only MS applications would use it. Cards.dll does, however, have a very visible, very useful, resource section, holding images of all the cards (plus silly animations). If another application brought it's own copy of Cards.dll, probably BECAUSE it knew it couldn't count on linking with the OS supplied one, then it is entirely conceivable that it broke FreeCell along the way.

         Shachar

--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html


================================================================= To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]



Reply via email to