RTD wrapper functions do not work in Excel 2007

P

peterhoa

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. This shows the
dll is functioning correctly. However, when it's included in a VBA wrapper
function nothing happens. ie cell values are not updated. I've stipped the
dll down to the point where it simply displays the time -- ie a few lines of
code -- with the same result: wrapper functions do not work.

Wrapper functions are essential as asking users to use RTD direct is complex
and not a practical solution for average users. Has anybody else had a
problem with wrapper fucntions?
 
V

vzeitlin

peterhoa said:
I forgot to mention that it's Excel 2007 beta 2.

Sorry, no answer to your question but I can say that I see exactly the
same behaviour here: 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
 
P

peterhoa

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
 
J

Jose

Hi Peter,

Is this issue assumed to have been sorted out in the official Excel 2007
release? I have upgraded to it and now I am having real trouble with the RTD
functionality. Basically, all my RTD links ( directly from the worksheet
cells ) fail to update. I have debbuged my RTD server and none of the entry
points are being called. It looks like excel does not even try to activate
the rtd server.

However, the same RTD server behaves correctly in Excel 2003.

I have played around with all the security settings in Excel 2007 to no
avail. Any light on this?

Thanks,

Jose
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top