View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
peterhoa[_2_] peterhoa[_2_] is offline
external usenet poster
 
Posts: 5
Default RTD wrapper functions do not work in Excel 2007

The Microsoft beta team sent me an email acknowledging the problem:
"Thanks for the note. This is an issue we are aware of and that we are
working on."

They invited me to send them a test so I have sent them a simple test which
produces the problem. So hopefully it will be fixed in the final release.

Your description of the disconnect function in the RTD dll being called
immediately on loading ties in exactly with what I found and in the test I
sent Microsoft a message box pops up when that happens so it's very clear
what's going on.

Peter

wrote in message
oups.com...
peterhoa wrote:
I forgot to mention that it's Excel 2007 beta 2.

"peterhoa" wrote in message
...
I sell an addin which links to a number of real time providers (eSignal,
market feed...) using a dll (written to the RTD standard). I use VBA
wrapper functions which in turn call the RTD dll. Works fine with
Excel
2002
and Excel 2003. It does NOT work with Excel 2007 however. I've
recompiled
the dll to ensure the VB 6.0 reference includes the 2007 libraries. If
I
use the RTD function directly from a worksheet cell it DOES work.


Sorry, no answer to your question but I can say that I see exactly the
same behaviour he writing =RTD() directly in the worksheet cells
works fine but using a wrapper function returning
Excel.Application.WorksheetFunction.RTD() doesn't work. I can see that
in the latter case Excel calls my ConnectData() just as usual but
almost immediately thereafter it calls DisconnectData() -- without any
apparent reason. Even more surprizingly, it still calls RefreshData()
for the topic it just disconnected from.

The fact that =RTD() in the worksheet works makes me suspect that this
is a beta2 bug, I hope this wasn't a conscious design decision in Excel
2007, so I can only hope it's going to be fixed in the final version.

Regards,
VZ