Thanks Josh, I understand the concept you are showing me. The problem I have now, as I mentioned in my previous email, is that it does not allow me to use apply with calls to functions external to the override: public function itemFilterDefault(... args):ICTypeArqParams { // I can't implement it like this because I get an error "retriveNewItemFilterDefault is not a function" var item:ICTypeArqParams = retriveNewItemFilterDefault.apply(this,args); if (pagination) { item.pageSize = pageSize; item.pageIndex = -1; }else{ item.pageSize = -99; item.pageIndex = -99; } return item; } public function retriveNewItemFilterDefault(... args):ICTypeArqParams{ return null; } // This function is the one that will normally be overridden in child classes
In these cases, is there another way to do it? Thx. Hiedra -----Mensaje original----- De: Josh Tynjala <joshtynj...@bowlerhat.dev> Enviado el: domingo, 1 de diciembre de 2024 21:50 Para: dev@royale.apache.org Asunto: Re: Parameters of type paramArray super.fn_hello.apply(this, [index].concat(args)); Alternatively, you can modify the args array. args.unshift(index); super.fn_hello.apply(this, args); -- Josh Tynjala Bowler Hat LLC <https://bowlerhat.dev> On Sun, Dec 1, 2024 at 6:12 AM Maria Jose Esteve <mjest...@iest.com> wrote: > Perfect Josh, thanks. > > When the paramArray is, for example, the second parameter, what would > that look like? > For example: > override protected function fn_hello(index:int, ... args){ > // These are the tests I have done but none of them work for me > super.fn_hello.apply(index,args); > super.fn_hello.apply(index,[this].concat(args)); // Add "this" > and, for example, index 0 is not the first parameter of args but > "this" (as expected)} ,,, > > Hiedra > > -----Mensaje original----- > De: Josh Tynjala <joshtynj...@bowlerhat.dev> Enviado el: viernes, 29 > de noviembre de 2024 18:14 > Para: dev@royale.apache.org > Asunto: Re: Parameters of type paramArray > > I think that this should do what you want: > > super.reevalAccesControl.apply(this, args); > > > -- > Josh Tynjala > Bowler Hat LLC <https://bowlerhat.dev> > > > On Thu, Nov 28, 2024 at 7:26 AM Maria Jose Esteve <mjest...@iest.com> > wrote: > > > Hi, I've always faced this problem, but I don't know how to give a > > definitive solution. > > Parameters of type paramarray increase their nesting from one call > > to another, for example: > > > > Public class ControllerFirst extends ControllerBase { > > ... > > private function fnmove():void{ > > var foo:String = "hello"; > > reevalAccessControl(foo); > > } > > ... > > override protected function reevalAccessControl(... args):void{ > > // In the first call, from fnmove "arguments" you > > have an element [0] with a value "hello" > > super.reevalAccesControl(args); > > ... > > } > > } > > > > Public class ControllerBase > > { > > ... > > protected function reevalAccessControl(... args):void{ > > // When this function is called from ControllerFirst > > arguments has an element [0] but this element in turn is an array of > > 1 element and the value "hello" is found in args[0][0] on a second level > > ... > > } > > ... > > } > > > > I don't know if I have explained myself... I understand why it > > happens but I wonder if there is a way to pass this type of > > arguments so that the nesting level 0 is respected and a level is not added > > for each call. > > > > Thx. > > Hiedra > > > > >