Extension For Any Event

So you want to listen to variable changes right?

If that is a problem, you might have too many global variables.

Procedures should return values as value procedures, and not change global variables except in the case of Clock Timer events.

1 Like

Maybe I did not use the right words for my concept. I have something that needs to turn off at the end of app usage but my app can turn off in any of ten modules dependant upon user settings and time of usage and many other things. When it does not turn off I need to figure out where I forgot to change the variable.

Not sure what your meaning either (not entirely). But in any event, tracing by variable I think would be very valuable.

yes. I think it could be a very valuable way to trace events and troubleshooting.

I havent done that before, i'll have to check it.

1 Like

thanks. IMHO it would be a better way to footprint track the course of events especially it the app is large.

Wanting to understand. Procedures can return values or not return values depending right? Procedures that return are basically a mathematic variable of sorts but then there are procedures which simply perform a task and can be repeatedly used (with variabilities).

My app has over 4,000 blocks:
Two screens are simple with a few hundred
Settings screen has about 1,000 with approx 60 different ways to configure the app when running
MAIN SCREEN:

  • has 2,300 and can run in 4 different modes dependent upon settings
  • 8 clocks, 9 extensions, 2 tinyDB, Yada, Yada
  • while running, has only 5 buttons. 3 of which can operate in 8 different modes during running
  • runs in four modes: Free, Manual, Maunal-Automatic and Fully automatic
  • changes states during running but also the running process can be interrupted/Aborted/Reset and it resets automatically for another use in any of four states dependent upon what occurred during use.
    Yada, Yada, Yada right?

My point is that it is complex and not for a singular task goal. The main screen has 70 global. I highly doubt there is anyone who could make it more efficient or operate on fewer variables for the job this app performs.

Conditional changes that occur in one procedure can affect reactions of any of several other procedures dependent upon user choice, at a particular moment, of one of 3 buttons.

Why all this and only 3 buttons? Because it creates a more user intuitive interface. More simple to understand. All the heavy thinking is done by software and as little as possible for the user to have to figure out.

I hear what your saying and I took long to think about your point which is VERY valid. I have seen you work and find it amazing. I admire you and what your saying. However, I tend to make things very difficult for myself in the effort to make the most complicated task as simple as possible for the user to understand and operate.

ANSWER: YES I have many globals. YES I think for complex software it is often necessary and YES it would be nice to have footprints of what a variable did and where, instead of tracing it manually through the entire process.

I am open to suggesion. If there is a book of alternative methods that will cause me to be more efficient then I am all for it. Your Wordull an amazing and wonderful example of efficient use of methods and I will always continue to look for better methods.

Thank You @ABG

ooo, sounds like some sort of list is in order :slight_smile:

? expound?

Hmm, yesterday checked if it would be easy to implement that, did not get it, i'll have to search more

Interesting pursuit.

I am off on vacation in 12 hours to primitive living in a very remote place on a small island here in Pacific. Dunno how often I can get to where there is internet access and do not know when I will return. Probably 2 or 3 months if all works out well.

Will try to check in every now and then.

Thanks for your interest in this idea.

1 Like

so in this extension we can call some procedure by its name?
I really want to implement to bind component's click event to a procedure in one of my extension.
I checked with the open source, but really did not have a clue.
Would you pls give a simple demo for how to call a procedure?

Yeah, i had used some parts of code from Ewpatton's procedure extension, source code:

1 Like

Peace.
You can direct me to a code that calls the 'event' method

Welcome, can you explain more?