> A few of my customers with the Palm 3.0.3 desktop have reported a crash
> during HotSyncing with my app:
>
> Conduit 'Time Logger' Error: Unknown error.  (FFFF)
> ...
> HOTSYNC caused an invalid page fault in
> module PALM41.DLL at 014f:67d91a4b.
> ...

There is a Knowledge Base Article to be published very shortly on this. Here is
the text from that article...

The Palm41 DLL is a compatibility library that is loaded by the HotSync process
to run conduits built using Microsoft Visual C++ 4.2, and provides compatibility
with MFC 4.0.

After loading a conduit, HotSync Manager (HotSync 3.0 or later) will make a call
to GetConduitInfo() to determine the version of MFC (if any) required by the
conduit. It is important for a conduit developer to implement the
GetConduitInfo() function to return which version of MFC your conduit requires.
The Palm41.dll will be loaded if your conduit returns MFC_VERSION_41 or the
GetConduitInfo() function is not implemented in your conduit. For cases where
you have not implemented GetConduitInfo(), the HotSync Manager will assume you
are using MFC_VERSION_41.

Any conduits that are built using CDK 3.0 or later should not require or load
the Palm41.dll. If your conduit was built using CDK 3.0 or later, consider the
following information.

To avoid getting the Palm41.dll loaded when later versions of MFC are required,
you should implement GetConduitInfo() as follows:

    switch (infoType) {
        case eConduitName:

            // Return your conduit name
            .
            .
            .

            break;
        case eDefaultAction:
            // return default action
            break;
        case eMfcVersion:
            if (*pdwOutSize != sizeof(DWORD))
                return CONDERR_INVALID_BUFFER_SIZE;

            // ***** RETURN The MFC VERSION BEING USED  **********

            (*(DWORD*)pOut) = MFC_VERSION_50;

            break;
        default:
            return CONDERR_UNSUPPORTED_CONDUITINFO_ENUM;
    }


Valid return codes for the eMfcVersion query are:

     MFC_VERSION_42 - compiled with Visual C++ 4.2
     MFC_VERSION_50 - compiled with Visual C++ 5.0
     MFC_VERSION_60 - compiled with Visual C++ 6.0
     MFC_NOT_USED - MFC is not used in your conduit.





-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palm.com/devzone/mailinglists.html

Reply via email to