$PBExportHeader$n_indirect.sru forward global type n_indirect from nonvisualobject end type end forward global type n_indirect from nonvisualobject autoinstantiate end type type variables Private: String is_username String is_username_hist[] Public: Indirect String username {of_SetUsername(*value),of_GetUsername()} end variables forward prototypes private subroutine of_setusername (string as_username) public function string of_getusername () public function long getusernamehistory (ref listbox alb_history) end prototypes private subroutine of_setusername (string as_username);// set private username instance var Long ll_next If IsNull(as_Username) Then MessageBox("Set Username", "Null value not allowed!", StopSign!) Else // save value to instance variable is_Username = as_Username // save value to history array ll_next = UpperBound(is_username_hist) + 1 is_username_hist[ll_next] = as_Username End If end subroutine public function string of_getusername ();// get private username instance var If is_username = "" Then Return "[empty]" Else Return is_username End If end function public function long getusernamehistory (ref listbox alb_history);// return username history in listbox Long ll_idx, ll_max alb_history.Reset() ll_max = UpperBound(is_username_hist) For ll_idx = 1 To ll_max alb_history.AddItem(is_username_hist[ll_idx]) Next Return ll_max end function on n_indirect.create call super::create TriggerEvent( this, "constructor" ) end on on n_indirect.destroy TriggerEvent( this, "destructor" ) call super::destroy end on
File: n_indirect.sru
Size: 1651
Date: Mon, 31 Dec 2018 21:14:38 +0100
Size: 1651
Date: Mon, 31 Dec 2018 21:14:38 +0100
- nonvisualobject autoinstantiate n_indirect(sru)