Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Clients not paying for mods - anything code available? 1

Status
Not open for further replies.

toptech

Programmer
Apr 12, 2001
71
0
0
US
Hi All.

I have made modifications to Access97 and Access2000 programs for some of my clients.

They however, take a long time to pay for these mods.
Of course when they need you, they expect you to run to their rescue.

Does anyone have any way of putting something into the code
that afte 30 days, messages start up or after 45 days (or whatever time limit I choose) the program stops running.

It would be greatly appreciated.

Toptech

toptech@interlog.com Top Tech Systems

If you help 3 people and each one of those help 3 other people and so on, imagine all the people being helped.
 
I don't have any code for you to do this.

However, as a (former) lawyer I would advise you to be very careful about it. At the very least, you should inform them and get their consent regarding a disabling mechanism being built in. The message that they see informing that they have to pay should certain NOT be the first time that they become aware of a disabling mechanism. They should be required to approve its inclusion before the software is delivered. Otherwise, you risk being liable for damages resulting from a program's disablement.

I don't know much recent law on this subject. I do know that in a 1989 case in Federal District Court in Oklahoma, the court indicated that if the customer's consent was not obtained, a developer could be liable for all the customer's resulting damages.

Also, in a 1990 case in California, Revlon sued a developer for $20 million in damages, after the developer disabled the system through a dialup connection (after warning Revlon) after Revlon stopped paying because of dissatisfaction with the software. The developer later settled for an undisclosed amount.

So, just a heads up. Be careful whatever you do! And even if you do provide notice and obtain your customer's consent, don't assume that you will be home free in disabling their software for later nonpayment. It's possible you could still be found liable for some damages. Consult a lawyer before you disable anything. -- Herb
 
Hi Herb.

I appreciate your input on this. I sometimes just get frustrated when you do all this work and then the client comes back to you and says they can't pay at this time, but since I have you here, can you do this and this.

It justs seems to be happening more and more. When you are an independant, every buck counts.

Thanks again for the input.

ps. My intent was not to disable the program, it was just to put something in to remind them about payment. To start the reminder off slowly and then increase the nummber of reminders as time goes on. It was just something to annoy them with.


REgards,
Toptech

Top Tech Systems

If you help 3 people and each one of those help 3 other people and so on, imagine all the people being helped.
 
Hi Toptech

The simplist way would be to put a limit on the count of records in a tbl you could use dcount and if the returned amt is greater than x display a warning message. I do this with demo versions of my product limiting the amount of clients that are able to be stored to 50.

Hope t helps (I agree people that get you to do work and then don't bother paying suck,i'm still waiting ofr payment
for somework i did over a year ago)

TAke it easy

Phill
 
Just put some code like this into you app to be run on start-up....

Const PayDate As Date = "2/14/02"

If Date = PayDate Then MsgBox "Please Pay"

If you want it to disable the app...

Const PayDate As Date = "2/14/02"

If Date = PayDate Then
MsgBox "Please Pay"
Quit
End If
 
Toptech,
Use the above code to identify the date(s). Set the forms' backcolor to something irritating and difficult to look at for long periods of time; such as, bright white. Set some of the important fields' fontcolors to light shades; i.e.; green or magenta. No harm, no foul.

mac
 
Mr Lawyer,
Suppose Toptech sends his mods as demo's with a drop dead date. Without a payment, the demo times out. This is used everyday by software developers to get potential buyers to try our programs.

mac
 
Toptech

Create a property for the database called expirydate. Set this date to what ever period you want and then on load check this date against the system date. Use this to keep poping up a message box saying something polite like 'You stingy beggars have not paid me!' Then when they get fed up of this message they might pay up.

I did this for a demo of a database so that it expired after a certain date. Worked like a dream

Peachmelba
 
Hi Guys.

Thanks you all for your info.

I know I was not the only one out there getting no payers.

I appreciate all your feedback and will put something in just for the mods that were done. That way the original portion of the program will have no annoying comment, but the new portion will.



Regards to all.

Toptech
Top Tech Systems

If you help 3 people and each one of those help 3 other people and so on, imagine all the people being helped.
 
I would give them at least 60 days before disablement with repeated warning on a daily bases and then file a lawsuit for none payment. But do seek legal advice from your attorney as the laws change from state to state.
 
Since "evil" customers will easily find out about your checking the system date they might just change their system date and your code no longer works.
Therefore I strongly recommend that you install a double security for your reminder system:
first, check a special (your custom) key in the Windows Registry to determine whether the date limit has already been reached. If the key exists, exit your reminder code.
If not, then check the system date. Is the limit reached, create the a.m. Registry key.
In this case, changing the system date after the date limit does not disable your system.
 
A day (or year?) late, ... BUT,

After the FIRST (or even for the first) time for such late payment, simply tell the client that you want/need/require payment in advance.

Another alternative would be to simply demo the changes (use a portable) and release the completed revision on receipt of payment.

Some will 'balk' at either of the above, however they shouldn't. You are (presumably) an 'honest' vendor of services. the have (apparently) been satisfied with your work in the past. You 'stand behind' (e.g. Guarntee) your work and will 'repair' any faults. They often (actually USUALLY) pay for other products (including software) prior to receipt / installation.


MichaelRed
m.red@att.net

There is never time to do it right but there is always time to do it over
 
Hi Francescina,

Thanks for your input.

I have not checked the registry from within access before.
Do you have any code?

It would certainly be appreciated.

Regards,

Toptech Top Tech Systems

If you help 3 people and each one of those help 3 other people and so on, imagine all the people being helped.
 
What I have done in the past with my accounting system is the following:

I have set an expiry date somewhere on the system - usually entrypted in some way.

An accounting system depends on dates - so I did not allow any date greater than the expiry date to be entered unilt they received an unblocking key from me - once they had paid.

This allows the client to view all information and to continue to enter information - but all dates cannot exceed the expiry date until cleared.

Paul

 
The Windows Registry can be modified from within ACCESS by three ways:

1.) GetSetting and SetSetting give you Read/Write to a certain area of the Registry (see online help)
2.) API calls allow you full access to everything in the Registry but are a pain in the *** to program.
3.) Using the objects of the WScript library is the easiest way (see microsoft.com for the complete documentation) to make the Registry your slave.
Happy programming!
 
Unfortunatly, many of the suggestions are for pseudo protecting the db and application -which is Ms. Access. Unless you are converting the app to an MDE file, it is almost not worth the effort. Any reasonablt competant programmer would easily be able to simply opent the db and browse through the code / objects and spot (and therefore "crack") the schemes.

I define two categories of 'encounters'. Customers. Others. Each category includes 'properties' One (IMPORTANT) property of 'Customer' is "Paying" (= Yes).

When / where this property is =Yes, I will go a long way toward accomodating their wishes. When / where this property is (even temporarily) =No, I have no regard for their concerns re my performance. I do not believe I have ever sold 'myself'. I sell a product or service. I TRY to do so under the auspices of a reasonable legal contract. This instrument (contract) should include terms and condition of payment. When a CONTRACT is violated, legal recourse is appropiate. In general, a contract is an agreement - even an informal verbal one. It is a drastic option, but if you are really being abused then the recourse is valid and reasonable. Tell the !customer to pay.

MichaelRed
m.red@att.net

There is never time to do it right but there is always time to do it over
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top