[AccessD] To a man with a hammer

Daniel Waters df.waters at outlook.com
Thu Feb 16 08:45:10 CST 2023


Hi John,

I agree on all counts!

This is what I have in my (WindowsForms) frmParent: 

		Me.ControlBox = True
		Me.MaximizeBox = False
		Me.MinimizeBox = False

		Me.ShowIcon = False

		Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
		Me.SizeGripStyle = Windows.Forms.SizeGripStyle.Hide

		Me.ToolTipAllHover.OwnerDraw = True
		Me.ToolTipAllHover.Active = True

Also the frmParent contains four ToolTip events which should be the same for every form.

And It's that simple.  Why? Because I don't want to constrain my IMAGINATION from being able to make any form do whatever it needs to do.  So, I do a little to easily maintain needed conformity, but not anything that would be restrictive.

I also use a common library file which contains all the functionality that any customer might need - what a timesaver for me!

All the best!
Dan

-----Original Message-----
From: AccessD <accessd-bounces+df.waters=outlook.com at databaseadvisors.com> On Behalf Of John Colby
Sent: 16 February, 2023 07:22
To: Access Developers discussion and problem solving <accessd at databaseadvisors.com>; John Colby <jwcolby at gmail.com>
Subject: [AccessD] To a man with a hammer

In my opinion, the user interface is an absolutely critical part of any app.  Too often the programmer treats the UI as an afterthought, which ends up causing the entire application to be a disjointed mess.  I have designed dozens of applications for dozens of companies over the 25 years I have worked in Access and over that time I figured out UI things which should just always be the same, everywhere, in every form.

Notice that in Windows, every single application has a set of three controls in the upper right corner, a 'close', 'restore down', and a 'minimize' button.  Always there.  Not sometimes there and sometimes somewhere else, and sometimes not present.  In fact if we as developers want that to not appear in our forms we have to jump through hoops to make it not appear.

So whenever I see a developer describing shoving UI kinds of things into a form class, my mind cringes.  As soon as I place anything into a form class that has any chance of being used twice I have started a UI disjointed mess.  I have taken over other developer's projects, and understanding all the crap in the typical form class is one of the major undertakings.

As for a class being a hammer... in my view even saying such a thing speaks volumes about the person saying it.  They either don't understand classes or they have no imagination.  And yes, I get tired of being told I have no imagination when in fact it is the person saying such things which has no imagination.

I have a class which wraps every single data aware UI object in Access, think textbox, combo, radio button etc.  I have a pair of classes which collect errors as they occur.  I have a class which logs anything.  The error handler class uses the log class to log errors collected.  I have an FTP class, not as useful as it once was.  A class to do MD5 hashes.  A pair of classes to parse and deal with OpenArgs for when a form opens.  A pair of classes which read Sysvars out of my SysVar table and caches them into memory so the app doesn't have to hit a table every time.  A timer class of course.  A zip class, with a matching unzip class.  And many more classes as well.  All, BTW, placed out in a framework library which can be referenced from any app I desire.

What about those many varied purposes describes using a hammer to you?
Well maybe, if you have no imagination I suppose.
--
John W. Colby
Colby Consulting
--
AccessD mailing list
AccessD at databaseadvisors.com
https://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com


More information about the AccessD mailing list