Click to See Complete Forum and Search --> : Is this Sensible use of active x dll


September 21st, 1999, 05:36 AM
I have an application which needs to be extended regularly but in a uniform manner as new user requests for functioanlity come alon.

I have a load of functions which are used and extended regularly, and are sim;ly db queries displayed in a grid. It has a stable front end which will not change.

Would it be intelligent to develop an Active X Dll with the functions for doing the db querying, so that I could simply update the dll, rather than the executable every time I needed to extend the project with more functionality.

The appropriate functions are called as the result of a choice in a database ( a user clicks a cell, and the id of the row of the cell is used to call a funtion), so I can always number them to be in sync with the database, and call them from the dll with a number parameter to identify which function I am looking for - i.e. using a case statement as the opening funciton on accessing the dll to determine which function to call.


Does this sound like overkill or sensible?

Ravi Kiran
September 22nd, 1999, 01:09 AM
I would think it is sensible to go for ActX dll in your case.
But make sure you maintain proper versions of the dll and the interface doesn't get messed with -> means you design it well in advance and make sure you maintain the binary compatability.
so that once you upgrade the dlls to an existing user, he should not be coming back to you saying the old stuff doesn't work. Adding new fns will not change the interface, but changing the param type of existing ones will.

But if your app is going to do a single job ( or a simple set of well defined jobs), then you can as well update the app itself!:-). From your user POV it may be same, if you ask him to download the new app or dll. Think abt it!!

RK

September 22nd, 1999, 07:02 AM
Thanks for advising me to think about it - I was doing this anyway by asking the question.

It is a lot easier to distribute a small dll in our organisation as we have incredibly untechnical users, so by taking this approach I can have a finished executable ready and available for the users, and then easily add new functionality by having the exe read the timestamp of a network copy of the dll, and if it is newer then copy it to the c:\windows\system directory and register it.

See - the power of thought!