Thursday, November 4, 2004

Case Closed...

After speaking with “Bob” from Microsoft Developer Support, it seems that my supposition regarding the implementation of IOleCommandTarget on our ActiveX client site was spot on.  According to them, they were able to debug things from their side and look at the code path surrounding that call to IOleCommandTarget.Exec() and determined that it was in fact directly related to an S_OK return code from that method.  It was also confirmed that the command ID of 66 was in fact a new command ID introduced with the latest patch (KB834707).  What strikes me as odd about this whole thing is that the return code in this case seems backward.  I would have presumed that a return code of S_OK would mean “Sure, go ahead and download the file and don't ask the user.”  Obviously this was not the case as S_OK actually meant, “Ask the user if they want to open the file.”  Unfortunately, I was not able to get a resolution to this problem prior to releasing Delphi 2005 to manufacturing.  So look for a fix to this problem in a upcoming patch... soon.

I know that “Bob” reads this blog since in our last conversation he mentioned that he went to this site (since it was listed in my email sig).  So, “Bob”, if you're reading this, thanks for all your help.  I have to commend you and your support group for their reasonably quick and very proactive response.


  1. Can you make the solution for this public please, in case Delphi users want to implement it?

    Just the skeleton and what to check for will do. ;o)

  2. This may be a case of defensive programming in the lines of what Raymond Chen describes frequently in his blog. Many COM programmers, when faced with the need to return a code in a method they don't understand, will just code a return for S_OK.

  3. Allen:

    So you just confirmed D2005 disks are being manufactured. Great job to the Team. We certainly look forward to getting the product soon. Thank you.


  4. > So, “Bob”, if you're reading this,

    > thanks for all your help.

    I'm not Microsoft Bob, but you're welcome ;-)

    Thank you for being so dedicated to Delphi, and for "slipping" that it's RTM now...

  5. Hi Allen.

    First dotNET SP1, now this... they're starting to be too many coincidences, don't you agree?




Please keep your comments related to the post on which you are commenting. No spam, personal attacks, or general nastiness. I will be watching and will delete comments I find irrelevant, offensive and unnecessary.