| Subject |
Re: timer class |
| From |
Lee Grant <camilee@nospam.comcast.net> |
| Date |
Mon, 25 Jul 2022 02:00:55 -0400 |
| Newsgroups |
dbase.getting-started |
Mustansir,
Yes, the timer() object can be a pain, using it in and out of the IDE
designer interface. Not sure who helped me with this, but it helps to do
this.
In my onOpen method, I check first if we are inDesign mode, and if so,
the timer is disabled. The problem becomes that when we tweak in the
designer and then run our form from the designer we tend to forget that
this following code will not execute again. Therefor, I added a button
to the form, that I click to disable the timer before I click for the
dessigner to reopen the form for fixing in the designer. Here's my code
in my onOpen method:
> function form_onOpen()
> if this.inDesign == true
> this.timer := Null
> this.timer.ontimer := Null
> this.timer.enabled = false
> return
> else
> this.timer = new Timer( ) // Make timer a property of the form
> this.timer.parent = this // Assign form as timer's parent
> this.timer.onTimer = this.updateClock // Assign method in form to timer
> this.timer.interval = 2 // Fire timer every 2 seconds
> this.timer.enabled = true // Activate timer
> //shell(false)
> endif
> return
And this is the code I use for a custom button on the form to remind me
why I push that button when running the form. :)
> this.STOPTIMER_PB = new LGCPUSHBUTTON(this)
> with (this.STOPTIMER_PB)
> onClick = class::STOPTIMER_PB_ONCLICK
> onMouseOver = class::STOPTIMER_PB_ONMOUSEOVER
> onMouseOut = class::STOPTIMER_PB_ONMOUSEOUT
> height = 24.0
> left = 709.0
> top = 614.0
> width = 107.0
> text = "Stop Timer"
> statusMessage = ""
> speedTip = "This stops the Clock timer so we can go into Design mode"
> endwith
>
>
> function STOPTIMER_PB_onClick()
> this.parent.timer.enabled := false
> return
This allows you to use the one form, instead of having to update two
forms or forgetting which one you fixed. This way, all I have to
remember is that before going into designer mode from run mode is to hit
that stop button and then I can safely go into designer mode without the
timer causing a problem. Couple that with Mervyn's explanation and you
can find a way to work around the form giving you problems in and out of
design mode when you use a timer class.
Lee
On 7/24/2022 2:28 PM, Mustansir Ghor wrote:
> Dear Mervyn Sir
>
> I agree with your explanation and was aware of it but I am at development stage. Here on IDE i use design and run icons to test my form. So thought may be onDesign form event or somewhere I could close the form so that I dont get disrupted with the error.
>
> Yes as Andy says learning process never ends.
>
> Regards to all
> Mustansir
>
> Mervyn Bick Wrote:
>
<snip>
|
|