"=?Utf-8?B?TGVvbg==?=" < XXXX@XXXXX.COM > wrote in
Oh, so you are, sorry, I didn't read the code carefully enough, I
wasn't expecting the comma operator there.
Just to eliminate one thing, are you sure that every object in that
folder is an appointment? I can't think of an obvious reason why it
would crash just on one item differently to all the other ones; maybe
every other time through you're getting lucky and the freed memory
hasn't been reused yet, but on that one item malloc et al happen to
shuffle stuff around and finally stomp on something that you're trying
As a different, more annoying, thing to try, what happens if you go
back to raw IDispatch everywhere? Heck, you could presumably go with
IUnknown everywhere, as long as Redemption'll take it -- that would let
you QI things as you go through just to make sure that they're
supporting the interfaces you expect.
You'd need to remember to release() stuff by hand, but it would at
least mean you'd know for certain what was going on, and hopefully that
might reveal what's going on enough that you can put the smart pointers
(heck, if you were feeling really brave, you could do all the dispatch
stuff by hand and call GetIDsOfNames/GetTypeInfo/etc, but I don't think
that would gain you much except for a bunch of pain. Then again, it
might be easy to copy the relevant bits of code out of the tlh/tli files
that #import has generated.)
Sorry I don't have anything more specific to suggest, but maybe this'll
shake out whatever's going on.