OL2k Addin DLL Problem
-
I've got a COM addin DLL written in VB6 for Outlook2000 that makes calls into an MFC regular DLL written with VC++6. On both WinNT and Win2k this works fine. However when trying to run the application on a Windows 9x machine the VB6 part of the application works fine up to the point where it attempts to make the call into the VC++ DLL. I believe I have all the necessary dependencies copied to the proper location on the Win 9x machine and I am not using any NT specific code so I am stumped as to why this will not work. Anybody have any ideas for me?
-
I've got a COM addin DLL written in VB6 for Outlook2000 that makes calls into an MFC regular DLL written with VC++6. On both WinNT and Win2k this works fine. However when trying to run the application on a Windows 9x machine the VB6 part of the application works fine up to the point where it attempts to make the call into the VC++ DLL. I believe I have all the necessary dependencies copied to the proper location on the Win 9x machine and I am not using any NT specific code so I am stumped as to why this will not work. Anybody have any ideas for me?
Do you have any idea at what point its having the problem exactly, and if so, what does the code look like? Bret Faller Odyssey Computing, Inc.
-
Do you have any idea at what point its having the problem exactly, and if so, what does the code look like? Bret Faller Odyssey Computing, Inc.
It's having the problem when the Visual basic DLL attempts to make the call into the VC++ DLL. For some reason this call is not taking place on the Win9x machine, but on the NT/2k machine it works fine. The visual basic declaration of the VC++ dll function looks like this: ' Declare VC++ DLL function import Declare Function IndexMsg Lib "OL_Index" Alias "IndexMessage" (ByVal msg_path As String, ByVal msg_note_path As String) As Integer The actual call to this function looks like: ' Call VC++ DLL function to start the import process result = IndexMsg((temp_path + MAIL_NAME), (temp_path + MAIL_NOTE_NAME)) On the VC++ side of things, the function declartion looks like: extern "C" UINT IndexMessage(LPSTR msg_path, LPSTR msg_note_path); And the implementation like: extern "C" UINT IndexMessage(LPSTR msg_path, LPSTR msg_note_path) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); // debug call to see how far the call goes AfxMessageBox("Made it into Index func!", MB_OK); // call the function to perform the indexing tasks return theApp.DoDisp(CString(msg_path), CString(msg_note_path)); } And finally my .DEF file for the VC++ DLL exports looks like: LIBRARY "OL_Index" DESCRIPTION 'OL_Index Windows Dynamic Link Library' EXPORTS ; Explicit exports can go here IndexMessage @59 PRIVATE