Page 1 of 1
TIMER in a CLASS
Posted: Tue May 24, 2022 2:40 pm
by AUGE_OHR
hi,
how can i use a TIMER in a CLASS
Code: Select all
oWin := "VLCAXWIN_" + STRZERO( i, 3 )
oControl := "AXCTRL_" + STRZERO( i, 3 )
cTimer := "Timer_"+ STRZERO( i, 3 )
DEFINE WINDOW &oWin ;
...
DEFINE ACTIVEX &oControl
...
END ACTIVEX
DEFINE TIMER &cTimer of &oWin INTERVAL 10 ACTION IF(!EMPTY(oVLC), DoCheckTimer(ThisWindow.Name) , nil)
END WINDOW
Control: Timer_016 Of VLCAXWIN_016 Not defined. Program Terminated
Re: TIMER in a CLASS
Posted: Tue May 24, 2022 3:06 pm
by gfilatov
AUGE_OHR wrote: ↑Tue May 24, 2022 2:40 pm
hi,
how can i use a TIMER in a CLASS
Hi,
May be
Code: Select all
DATA cTimer
...
oWin := "VLCAXWIN_" + STRZERO( i, 3 )
oControl := "AXCTRL_" + STRZERO( i, 3 )
::cTimer := "Timer_"+ STRZERO( i, 3 )
DEFINE WINDOW &oWin ;
...
DEFINE ACTIVEX &oControl
...
END ACTIVEX
DEFINE TIMER &( ::cTimer ) of &oWin INTERVAL 10 ACTION IF(!EMPTY(oVLC), DoCheckTimer(ThisWindow.Name) , nil)
END WINDOW

Re: TIMER in a CLASS
Posted: Wed May 25, 2022 8:22 pm
by AUGE_OHR
hi Grigory,
my last Message was not clear
it "seems" that TIMER did not work when "Set" in Main when have a ActiveX
i need to use TIMER "in" CLASS where i can have Multi-Instance
Code: Select all
oVlc := TVlc() :New( GetProperty( oWin, oControl, "Object" ), oWin )
METHOD New( oControl, oWin ) CLASS TVlc
LOCAL cTimer := "Timer_VLC"
...
::oWin := oWin
...
::lRun := .F.
DEFINE TIMER &cTimer of &oWin INTERVAL 100 ACTION ::ShowRunThread()
Code: Select all
METHOD Destroy() CLASS TVlc
IF IsControlDefined( Timer_VLC, ::oWin )
DoMethod( ::oWin, "Timer_VLC", "Release" )
ENDIF
Code: Select all
METHOD ShowRunThread() CLASS TVlc
IF ::lRun = .T.
nPlayState := ::State()
...
CASE nPlayState = VLC_INPUT_STATE_PLAYING
nDuration := INT( ::GetLength() / 1000 )
IF !EMPTY( nDuration )
IF nPosi >= nDuration - 1
::Stop()
::lRun = .F.
IF SP_Loop() = .T.
::SetTime( 0 )
::Play()
ELSEIF SP_Endless() = .T.
// SENDKEY( VK_NEXT )
::Play_Next()
ENDIF