Excel with Custom TLB-DLL - Cannot Add Reference - Help Please

E

Effin

About two years ago, i ventured to write a custome DLL / TLB that I
could use from excel. The point of this application was to gather data
via sockets from a device, and put that data into excel.

The DLL handled connecting / getting data / disconnecting. It also
exported a struct (data type) for use within excel. The excel
spreadsheet creates a variable of this type, passes it to the DLL (by
reference), and it gets populated with data. It works great. Except - I
dont think I did it 100% properly. This being my first time doing
anything remotely close to this. Im using the "references" tool in VBA
to attach the DLL through the TLB file.

This is where stuff gets wonky. Laugh at me please, cause Im still
laughing at myself.

So this was two years ago. I've updated the spreadsheet recently with
some new functionality, and its an amazing tool - very extensible.
However, the problem now is the DLL.

Currently, the TLB that gets referenced by the spreadheet
("Tools->References") resides on our server. Its a shared location.
Now, it would be more useful if the user had the DLL / TLB on their
system.

PROBLEM: I CANNOT REMOVE THE EXISTING REFERENCE.
PROBLEM2: EVEN WITH A NEW SPREADSHEET I CANT ADD A REFERENCE TO THE
SAME TLB / DLL. I HAVE TRIED THIS IN EXCEL 2003 and EXCEL 2000.

Its like the xls file has a reference to the tlb / dll and I cant
replicate it anywhere else?

If I try and add it from the references dialog, I select the TLB and
nothing happens. No Warning, No Changes, and it doesnt get selected?
Whats the Problem here? Anyone experience this before? Ive tried
changing permissions on the file and security in Excel. Nothing seems
to work?

Help? Suggestions? Methods to Troubleshoot?
 
E

Effin

Okay, I found out that when Excel launched, it registered the TLB's
UID. (Making a registry entry in Typelib, that had a corresponding
location). So, all I had to do to fix my problem was edit the key that
stored the location. So I am now distributing an MSI that installs the
spreadsheet / tlb / dll and registers it appropriately.
 

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