With that specific function it doesn't allow me to do it, it gives me an error, but I have noticed that with other functions it does allow me, which leads me to think that there must be "something different" about this function that I'm not seeing. Before bothering you any further, I'm going to perform a more exhaustive analysis following all the instructions you've given me and I'll come back here with the results.
Thank you all so much. Hiedra -----Mensaje original----- De: Josh Tynjala <joshtynj...@bowlerhat.dev> Enviado el: lunes, 2 de diciembre de 2024 0:09 Para: dev@royale.apache.org Asunto: Re: Parameters of type paramArray That is the way that I would have suggested to call other functions. Perhaps this means that there is a bug in the compiler. Does this work? var item:ICTypeArqParams = this.retriveNewItemFilterDefault.apply(this,args); -- Josh Tynjala Bowler Hat LLC <https://bowlerhat.dev> On Sun, Dec 1, 2024 at 2:13 PM Maria Jose Esteve <mjest...@iest.com> wrote: > 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 > > > > > > > > >