Ryan Schneider
December 23rd, 1998, 10:43 AM
Howdy all,
I've got another headache here for you.
We just finished up a product, consisting of a VB front-end and an MFC DLL.
The VB front-end calls a function in the DLL (DoSearch()) DoSearch() then spawns a bunch of threads and queries a Search Engine on each thread. To show progress, the DLL is passed two VB callback functions (one for results, one for progress). The threads in the DLL use CLockableObjects to synchoronize talkking to VB (so the VB portion never gets hit by two callbacks at the same time).
This all worked fine in 5.0SP3 (for VB and VC++). Now that the products out, we decided to port it over to 6.0SP1.
Alas, the program crashes as soon as the VB callbacks try to read or write any memory.
I posted earlier on the MFC board about a similar situation I had developing an MFC ActiveX front-end to the DLL. That case was solved when I noticed my callbacks were defined incorrectly (returning void instead of long __stdcall) in the OCX.
So, did the calling conventions change between VB5 and VB6, or is that a dead end regarding this problem?
If anyone has had any similar problems, please let me know.
Oh, and if you want to see the product (in its VB5 form, of course :) ), it's called BlazeMarks! and is available at www.blazeit.com
Download BlazeMarks! 2.0
I've got another headache here for you.
We just finished up a product, consisting of a VB front-end and an MFC DLL.
The VB front-end calls a function in the DLL (DoSearch()) DoSearch() then spawns a bunch of threads and queries a Search Engine on each thread. To show progress, the DLL is passed two VB callback functions (one for results, one for progress). The threads in the DLL use CLockableObjects to synchoronize talkking to VB (so the VB portion never gets hit by two callbacks at the same time).
This all worked fine in 5.0SP3 (for VB and VC++). Now that the products out, we decided to port it over to 6.0SP1.
Alas, the program crashes as soon as the VB callbacks try to read or write any memory.
I posted earlier on the MFC board about a similar situation I had developing an MFC ActiveX front-end to the DLL. That case was solved when I noticed my callbacks were defined incorrectly (returning void instead of long __stdcall) in the OCX.
So, did the calling conventions change between VB5 and VB6, or is that a dead end regarding this problem?
If anyone has had any similar problems, please let me know.
Oh, and if you want to see the product (in its VB5 form, of course :) ), it's called BlazeMarks! and is available at www.blazeit.com
Download BlazeMarks! 2.0