Code to Delete a Form

Tezcatlipoca

Registered User.
Local time
Today, 06:03
Joined
Mar 13, 2003
Messages
246
Right, so I'm working on a database project that, on final release, will have a free trial version. When this free trial comes to an end, the database should cease to function.

Probably the best way I can think of to do this (although I'm open to other suggestions) is to include some VB code which will remove functionality.

My thought was to have some VB that checks how long the database has been in use for, then fires an action when it gets to 3 months (the trial period). This bit is easy to write, and I currently have it firing a simple message box when the time is reached.

What I want, is instead of a message box, a trigger to completely delete certain forms from the database, maiing functionality impossible and, more importantly, removing the chance of import or reverse engineering. but, here's the thing, one of those forms should be the one the code that's executing the delete is sitting on.

This bit I'm a little less certain on. Any ideas?
 
I would have thought that 3 months would be long enough for people to suss out reverse engineering. Don't forget they can do screen dumps during the trial period.

However I would suggest that that you initiate code when the app loads to test for expiry then if expired use the forms collection to delete all the forms then quit the application.

David
 
I would have thought that 3 months would be long enough for people to suss out reverse engineering. Don't forget they can do screen dumps during the trial period.

However I would suggest that that you initiate code when the app loads to test for expiry then if expired use the forms collection to delete all the forms then quit the application.

David

Good point on the time period, I will mention this to the people I'm writing the database for and advise they consider shortening the trial period.

With regards to your solution, I've already writtne code to test for expiry and it runs great, it's the actual trigger bit I don't know how to write.

You mention "use the forms collection to delete all the forms". Could you please provide an example?
 
if you prevent all normal shift key bypasses etc, so they cant see the db window and have a validation module start when it first runs (either your startup form, or try autoexec macro if need be).

if you send them an mde, they wont be able to get at your code.

then if the system date is passed your test date just quit access.

--------------
just deleting forms wont necessarily help - as they are likely to have a backup copy of the database, if they really want to mess around

then if the system date is passed your test date just quit access.

---------

normally you would want some sort of mechanism to legitimise the database wouldn't you - rather than deleting the whole thing - perhaps store an encrypted authorisation string - doesnt matter if they can see it, as long as they cant crack the encryption method. If they want to go legit, they can ring you to get the authorisation string

base this on their hard disk serial no, then you will get a unique string for each install and they still wont be able to just copy the dbs to any machine, as the authorisation string will not be correct.

There's quite a few threads here about this sort of stuff, but obviously not every poster will reveal exact details of the security algorthms they use.
 
I certainly agree in principle, Gemma, and my code already locks down all the things you've mentioned, but I want to avoid the problem of the end user running tools like this one.
 
DeleteObject removes any of the objects, forms, tables, macros etc
 
Hmm, but I don't think that will take effect when being run as an MDE. I suspect I may have to go down the encryption path after all...
 
Last edited:

Users who are viewing this thread

Back
Top Bottom