What does scaling mean in your sentence? Does it mean that the function/class will be used by different forms/reports in the future or that the function/class can be modified to do additional things? Nothing I suggested violates the first definition. But the second definition is the road to unintended consequences. The calculation performed by the class/function uses fldA and fldB. I don't use sloppy names in my application so I don't have to worry about not being able to use the class/function with a different form/report because the necessary variables will have consistent names. So my function is infinitely scalable as long as I don't expect it to work on fldC and fldD.Tight-coupling defeats scalability. They are inversely proportional.
A class/function does what it does. It doesn't do something else. You can't use it out of context. If it needs arguments a and b, that's what it needs. If it returns c, that's what it returns. if you change any of its inputs/outputs, all procedures that invoke it also need adjusting.Sorry, I meant extensibility, not scalability. Tight-coupling defeats extensibility.
No argument there. Very few non-trivial categories are easily definable in such a way that any particular item can immediately be assigned to the proper one.If that is your take away I missed making my illustration. It was not to point out a shortcoming in a persons position but to illustrate that coupling is a sliding scale vice a binary level.
Even 'good enough' is hard to define. I agree that setting up public property routines in a form is preferable to having outside code reach back and manipulate a form's objects directly, except of course, for routines that are specifically built to do exactly that. For instance, I have a whole host of routines that set various properties of form elements, rather than doing it manually. It is cleaner and faster to code something like:Now to be truthful if I am really going to do this I am probably going to build public property accessors to pull/push data to/from controls such as shown in step 4 and raise custom events to return data like step 5. So that would seem pretty loosely coupled IMO, but is it good enough? I think that question is contextual.
gbl_ctlsEnable arr:=array(txtbox1, txtbox2, txtbox3, txtbox4, ...)
What, exactly did you think I was talking about? Duh?except of course, for routines that are specifically built to do exactly that.
I wish I could block you. I can't think of a single instance where you've contributed anything useful to a question I've posed.What, exactly did you think I was talking about? Duh?
And I wish you would block me if you think I offer no value. At least then you wouldn't argue with my opinions the way you argue with other expert opinions.I wish I could block you. I can't think of a single instance where you've contributed anything useful to a question I've posed.
I tried, but you're an admin on the site, and the software won't let me block you. Actually, I'd prefer if you occasionally said something sensible or useful, since you obviously do have some experience, but when responding to me, at least, you have limited yourself to insults, snark, pointless tautologies, meaningless or obvious generalities and similar ballast. I don't know what kicks you get out of pestering me, but I wish you'd stop.And I wish you would block me if you think I offer no value. At least then you wouldn't argue with my opinions the way you argue with other expert opinions.
Was my answer to your initial question accurate? I told you how to post your solution.I'd prefer if you occasionally said something sensible or useful,
Okay, I'll give you that one - posting a PDF version of my article was a good suggestion.Was my answer to your initial question accurate? I told you how to post your solution.
Since you are not interested in my help, I will solve the problem by adding you to my do not help list.