Distributing MFC200.DLL

Distributing MFC200.DLL

Post by Bruce Pennypack » Sun, 07 Nov 1993 02:51:00

I've been looking through the Microsoft documentation for this but haven't
found anything that coveres it...  I've just finished writing a small
utility I'd like to post to Compuserve and various BBS's that uses
MFC200.DLL, but I'm not sure what the restrictions/guidelines are
regarding distributing the DLL along with the program.  Is there any
documentation that discusses this?


 t WinQwk 2.0 a#0 t Life is just a figment of my imagination.


1. Bug in mfc200.dll?

I think I've found a bug in mfc200.dll!
I have an extention DLL which uses CMapWordToOb.
When I serialize this object from an archive, I can dump out it's size
and check its validity etc. and the object is OK.

However, I can't use the API GetNextAssoc()

An exception error occurs when I use this function in the following code:

ASSERT(pArray != NULL);
WORD key;
CObject *pObject;
// Iterate through the entire m_Map
for(pos=m_Map.GetStartPosition(); pos!=NULL;)
        m_Map.GetNextAssoc(pos, key, pObject);          // GPF here
        CWordArray *wordArray=(CWordArray *)pObject;
            return key;

Someone I know used Codeview (cos I don't know anything about assembly!)
and said the code in mfc200.dll was doing something with DS & SS, which
was causing a fatel error.
In the GetNextAssoc() code in mfc\src, the first itteration into
GetNextAssoc() uses BEFORE_STARTPOSITION (defined at -1) to start it's
job, but in mfc200.dll it doesn't recognise the code. Heres the code and
where it falls down:

void CMapWordToOb::GetNextAssoc(POSITION& rNextPosition,
        WORD& rKey, CObject*& rValue) const
        ASSERT(m_pHashTable != NULL);  // never call on empty map

        CAssoc* pAssocRet = (CAssoc*)rNextPosition;
        ASSERT(pAssocRet != NULL);

*** Fails on the next line when rNextPosition==BEFORE_START_POSITION !!
*** BEFORE_START_POSITION defined as (void*)(NEAR *)-1                  

        if (pAssocRet == (CAssoc*) BEFORE_START_POSITION)
                // find the first association
                for (UINT nBucket = 0; nBucket < m_nHashTableSize;              ! 6

2. Setting up a cluster-system

3. How to distribute Winsock2 DLL WS2_32.DLL for Win95 (and upgrade for 98, NT)

4. Client error

5. Distributed classes and distributed objects problems

6. xboxlive dashboard

7. Distributed Objects Everywhere! Distributed Object Management!

8. Using MS-Kermit(3.13) with OS/2 2.11 + TCP 2.0

9. How to model distributed objects over distributed environment

10. KALA and distributed objects/distributed computing

11. DLL's required for distributing and MFC based ActiveX/OLE control?

12. legality of distributing BWCC.DLL???

13. Can I distribute CTL3D.DLL?