From dev-return-7053-archive-asf-public=cust-asf.ponee.io@royale.apache.org Thu Oct 11 13:47:54 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id D439A18064A for ; Thu, 11 Oct 2018 13:47:53 +0200 (CEST) Received: (qmail 25114 invoked by uid 500); 11 Oct 2018 11:47:53 -0000 Mailing-List: contact dev-help@royale.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@royale.apache.org Delivered-To: mailing list dev@royale.apache.org Received: (qmail 25096 invoked by uid 99); 11 Oct 2018 11:47:52 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Oct 2018 11:47:52 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id C9EEDC1968 for ; Thu, 11 Oct 2018 11:47:51 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 3.248 X-Spam-Level: *** X-Spam-Status: No, score=3.248 tagged_above=-999 required=6.31 tests=[HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=2, KAM_INFOUSMEBIZ=0.75, KAM_LOTSOFHASH=0.25, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id UDuoFgJ5uPK5 for ; Thu, 11 Oct 2018 11:47:48 +0000 (UTC) Received: from mail-lj1-f194.google.com (mail-lj1-f194.google.com [209.85.208.194]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 264A15F39A for ; Thu, 11 Oct 2018 11:47:48 +0000 (UTC) Received: by mail-lj1-f194.google.com with SMTP id x3-v6so7896884lji.13 for ; Thu, 11 Oct 2018 04:47:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=CAT2dXdC4QEJH56tUuaIhjTWr5AVHgnnLumHGHI6hVE=; b=TW54bV0grDrd1bhYV9x6CEV0Bkuf4mVS1SpkxQSCM36Zjx/uAYmei5tWFaET/a0I43 22wzphKQ0PRVaEf5TBoPLQNlSy/zGFKcn1628u5Rqvr7VeIqM9PVXfmDedpk3MrzxE02 fiVk+g7QiOU3TFcV+xiyg6/K7nMEwUXnp/ImWzPV7DlAqy28kbYcgCM7q6FPKxqZcGG5 o2i9ufB1uSX/uTIQidkR8sWHrKtW8tGQ6zWxDaLSTO73Y6JwRpHiiGZVbKUAxvWUfmnb ILrsUXKw5XZF0F1vmQZHYyIx56eMxjKTB34mOb0TZMjRhdwD0fOfZJu7E5cACAXb8gSb Hg8Q== X-Gm-Message-State: ABuFfojTeQrN3OjevByVHpg+xLVo9Yrvt5Te5pnybu12YdrWB7Tp0i5H nhdLKhIfRZEEIzTmhlMSGSGkILE3H1dWVWDP2zW3vN+7 X-Google-Smtp-Source: ACcGV61+7RiJwai52WaMepj/uJmgwIBo3V7lHcia4FQugfRJOKhH/6+oeyv7ARZQPXOx1VUULJ04H5oYOulXpoGrbZI= X-Received: by 2002:a2e:6f0c:: with SMTP id k12-v6mr1016757ljc.66.1539258466905; Thu, 11 Oct 2018 04:47:46 -0700 (PDT) MIME-Version: 1.0 References: <53F4CF1A-A1C6-4933-8A87-CF71576491C3@adobe.com> <13DCB372-7349-4FBE-A894-F12C36400CE2@adobe.com> <43B0DF04-69E2-4E02-BC76-43069FFA9FCD@adobe.com> In-Reply-To: From: Carlos Rovira Date: Thu, 11 Oct 2018 13:47:35 +0200 Message-ID: Subject: Re: Proxy method calls with RemoteObject To: dev@royale.apache.org Content-Type: multipart/alternative; boundary="0000000000002338e40577f28a41" --0000000000002338e40577f28a41 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Alex, I tried to use MX RO but doesn't work. Here's what the info of this test: Code: to make a quick test I put this code to run at "initComplete" event: private function prepareChannelSet(event:Event):void { var amfEndpoint:String =3D "http://localhost:8080/webapp/messagebroker/my-a= mf"; var channelSet:ChannelSet =3D new ChannelSet(); var channel:AMFChannel =3D new AMFChannel("my-amf", amfEndpoint); channelSet.addChannel(channel); service.channelSet =3D channelSet; } I add the MX RO as a bead After compilation (successful) I get the following trace that should be fixed: */Users/carlosrovira/Dev/Codeoscopic/Source/sgc/webapp/src/main/webapp/java= script/bin/js-debug/App.js* *end of list of source files* *oct 11, 2018 1:33:04 PM com.google.javascript.jscomp.LoggerErrorManager println* *ADVERTENCIA: /Users/carlosrovira/Dev/Codeoscopic/Source/sgc/webapp/src/main/webapp/javas= cript/bin/js-debug/mx/rpc/remoting/Operation.js:103: WARNING - Bad type annotation. extra @override/@inheritDoc tag. See https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for more information.* * * @override* * ^* *oct 11, 2018 1:33:04 PM com.google.javascript.jscomp.LoggerErrorManager println* *ADVERTENCIA: /Users/carlosrovira/Dev/Codeoscopic/Source/sgc/webapp/src/main/webapp/javas= cript/bin/js-debug/mx/rpc/remoting/Operation.js:150: WARNING - Bad type annotation. extra @override/@inheritDoc tag. See https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for more information.* * * @override* * ^* *oct 11, 2018 1:33:04 PM com.google.javascript.jscomp.LoggerErrorManager println* *GRAVE: /Users/carlosrovira/Dev/Codeoscopic/Source/sgc/webapp/src/main/webapp/javas= cript/bin/js-debug/mx/messaging/config/ServerConfig.js:333: ERROR - Parse error. invalid assignment target* * mx.messaging.config.ServerConfig["xml"].child("default-channels") =3D newServices.child("default-channels");* * ^* *oct 11, 2018 1:33:04 PM com.google.javascript.jscomp.LoggerErrorManager printSummary* *ADVERTENCIA: 1 error(s), 2 warning(s)* *The project 'App' has been successfully compiled and optimized.* Then the problems at Runtime. Trying to call a method in the service like this: *service.someMethod(someParam);* I get in browser console this error: *TypeError: this.service.someMethod is not a function. (In 'this.service.someMethod(someParam)', 'this.service.someMethod' is undefined)* Congratulations, I you are mostly at 99% to get official MX RemoteObject working :) Carlos El jue., 11 oct. 2018 a las 12:41, Carlos Rovira (= ) escribi=C3=B3: > Hi Alex, > > strangely, now build is passing locally...can't figure why yesterday it > was failing...maybe part of the build was in the change of day at > 00:00...just speculating.. > > I'll try to put mx RO to work and see I see and report :) > > > El jue., 11 oct. 2018 a las 12:18, Carlos Rovira () > escribi=C3=B3: > >> Hi Alex, >> >> yes, I always compile first compiler, then typedefs and last asjs. >> I'll try again. Maybe the maven-prepare-release could be doing making >> some problem with the change of version 0.9.4 to 0.9.5? >> >> El jue., 11 oct. 2018 a las 9:30, Alex Harui (= ) >> escribi=C3=B3: >> >>> I can't reproduce the failure. It worked on builds.a.o as well. Did >>> you run mvn on the compiler first? >>> >>> -Alex >>> >>> =EF=BB=BFOn 10/10/18, 4:38 PM, "Carlos Rovira" wrote: >>> >>> I must close for today, tomorrow will try to change net RO for mx R= O >>> if you >>> finally get this build error fixed. >>> >>> Thanks >>> >>> Carlos >>> >>> >>> El mi=C3=A9., 10 oct. 2018 a las 23:34, Carlos Rovira (< >>> carlosrovira@apache.org>) >>> escribi=C3=B3: >>> >>> > That's great Alex! :) >>> > >>> > I want to try it but I found the following error building with >>> maven: >>> > >>> > >>> > [*INFO*] *----------------< *org.apache.royale.framework:MXRoyale= * >>> > >----------------* >>> > >>> > [*INFO*] *Building Apache Royale: Framework: Libs: MXRoyale >>> > 0.9.4-SNAPSHOT [32/118]* >>> > >>> > [*INFO*] *--------------------------------[ swc >>> > ]---------------------------------* >>> > >>> > [*INFO*] >>> > >>> > [*INFO*] *--- *maven-clean-plugin:3.0.0:clean *(default-clean)* @ >>> MXRoyale* >>> > ---* >>> > >>> > [*INFO*] >>> > >>> > [*INFO*] *--- *royale-maven-plugin:0.9.4-SNAPSHOT:generate-extern >>> > *(default-generate-extern)* @ MXRoyale* ---* >>> > >>> > [*INFO*] >>> > >>> > [*INFO*] *--- *maven-remote-resources-plugin:1.5:process >>> > *(process-resource-bundles)* @ MXRoyale* ---* >>> > >>> > [*INFO*] >>> > >>> > [*INFO*] *--- *maven-resources-plugin:2.7:resources >>> *(default-resources)* >>> > @ MXRoyale* ---* >>> > >>> > [*INFO*] Using 'UTF-8' encoding to copy filtered resources. >>> > >>> > [*INFO*] Copying 3 resources >>> > >>> > [*INFO*] Copying 3 resources >>> > >>> > [*INFO*] >>> > >>> > [*INFO*] *--- *royale-maven-plugin:0.9.4-SNAPSHOT:compile-as >>> > *(default-compile-as)* @ MXRoyale* ---* >>> > >>> > [*INFO*] Executing COMPC in tool group Royale with args: >>> > >>> [-load-config=3D/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frame= works/projects/MXRoyale/target/compile-swf-config.xml, >>> > -js-compiler-define=3DCOMPILE::JS,true, >>> > -js-compiler-define=3DCOMPILE::SWF,false, >>> > -js-compiler-define=3DGOOG::DEBUG,goog.DEBUG, >>> > -js-compiler-define=3DROYALE::DISPLAYOBJECT,IUIComponent, >>> > -compiler.targets=3DSWF,JSRoyale, -compiler.strict-xml=3Dtrue] >>> > >>> > args: >>> > >>> > >>> > >>> -load-config=3D/Users/carlosrovira/Dev/Royale/Source/royale-asjs/framew= orks/projects/MXRoyale/target/compile-swf-config.xml >>> > >>> > -js-compiler-define=3DCOMPILE::JS,true >>> > >>> > -js-compiler-define=3DCOMPILE::SWF,false >>> > >>> > -js-compiler-define=3DGOOG::DEBUG,goog.DEBUG >>> > >>> > -js-compiler-define=3DROYALE::DISPLAYOBJECT,IUIComponent >>> > >>> > -compiler.targets=3DSWF,JSRoyale >>> > >>> > -compiler.strict-xml=3Dtrue >>> > >>> > target:SWF >>> > >>> > target:JSRoyale >>> > >>> > COMPC >>> > >>> > Loading configuration: >>> > >>> /Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/M= XRoyale/target/compile-swf-config.xml >>> > >>> > >>> > Error: Unexpected exception 'java.lang.NullPointerException'. >>> > >>> > >>> > >>> > Unexpected exception 'java.lang.NullPointerException'. >>> > >>> > >>> > ... >>> > >>> > [*INFO*] Apache Royale: Framework: Libs: RoyaleSite ......... >>> *SUCCESS* >>> > [ 0.771 s] >>> > >>> > [*INFO*] Apache Royale: Framework: Libs: MXRoyale ........... >>> *FAILURE* >>> > [ 1.529 s] >>> > >>> > [*INFO*] Apache Royale: Framework: Libs: Icons .............. >>> *SKIPPED* >>> > >>> > [*INFO*] Apache Royale: Framework: Libs: SparkRoyale ........ >>> *SKIPPED* >>> > >>> > I'm trying to build with the 2 commits of the latest failed relea= se >>> > reverted to build 0.9.4. (I think we should revert those since, I >>> suppose >>> > are not valid now). >>> > >>> > Thanks >>> > >>> > >>> > >>> > El mi=C3=A9., 10 oct. 2018 a las 21:41, Alex Harui >>> () >>> > escribi=C3=B3: >>> > >>> >> We especially want the RemoteObject in Network.swc to be PAYG. = MX >>> >> RemoteObject was never PAYG. >>> >> >>> >> Having looked at the code more, I see what you are saying about >>> Operation >>> >> not having its own fault and result handlers. It looks like >>> there already >>> >> is a SimpleOperation, so Operation could introduce its own fault >>> and result >>> >> handlers. >>> >> >>> >> FWIW, I just pushed the changes to the compiler and emulation >>> code that >>> >> got MX RemoteObject to work. So that could be an option for >>> you. I'm sure >>> >> there might be bugs remaining to be fixed, but there is quite a >>> bit of old >>> >> Flex code that is now running pretty much unchanged. >>> >> >>> >> -Alex >>> >> >>> >> On 10/10/18, 2:33 AM, "Carlos Rovira" >>> wrote: >>> >> >>> >> Hi Alex >>> >> >>> >> El mar., 9 oct. 2018 a las 18:14, Alex Harui >>> >> () >>> >> escribi=C3=B3: >>> >> >>> >> > As long as Responders are PAYG and not baked into the basi= c >>> RO >>> >> > implementation, it is fine for others to try to replicate >>> subsets >>> >> of MX >>> >> > RemoteObject, but it still seems like duplication of effor= t. >>> >> > >>> >> >>> >> well, I'm talking not about MX RO, bur the current one we >>> have in >>> >> Network.swc that is working. >>> >> >>> >> That means is not a duplicate effort, take into account that >>> I'm >>> >> right now >>> >> coding a real world Apache Royale application, and need to >>> get the >>> >> work >>> >> done. I expect this could be a win for this project since is >>> an >>> >> important >>> >> project and an important client that are betting for Apache >>> Royale :). >>> >> >>> >> >>> >> > >>> >> > That said, I have not used RO or Responders in any real >>> world >>> >> application >>> >> > myself. I'm not sure I understand the need for them vs >>> just adding >>> >> more >>> >> > listeners to the result and fault event. >>> >> > >>> >> >>> >> Each RO use to have several Operations (aka methods that we >>> want to >>> >> call in >>> >> the backend). In real world scenarios, we want each RO >>> callback logic >>> >> will >>> >> be unique. If I call a service for a user list, I want to >>> fill the >>> >> list in >>> >> royale, but if I want to ask for a concrete user data, I wan= t >>> to fill >>> >> a >>> >> form with that data. >>> >> >>> >> Now, all Operations will be throw a result event and therefo= r >>> all >>> >> listeners >>> >> will fire, executing all methods. With listeners, we can use >>> >> if-then-else >>> >> to and some logic to execute parts of the listener, but a >>> Responder >>> >> implementation, should make the appropriate responder be >>> executed. >>> >> >>> >> In order to structure and organizar a real world application >>> that is >>> >> a bit >>> >> complex this is needed to separate all this logic across >>> files. >>> >> (In a tiny application, you can use the if-then-else approac= h >>> since >>> >> is more >>> >> like a example). >>> >> >>> >> >>> >> >>> >> > >>> >> > My 2 cents, >>> >> > -Alex >>> >> > >>> >> > On 10/9/18, 3:46 AM, "Carlos Rovira" < >>> carlosrovira@apache.org> >>> >> wrote: >>> >> > >>> >> > Hi Piotr, >>> >> > >>> >> > I think if I get some improvement over the current RO >>> with >>> >> Responders >>> >> > that >>> >> > could go to develop. Other thing is I tried to make it >>> work in >>> >> mx RO. >>> >> > People using Royale RO will benefit from it. If some >>> day mx RO >>> >> is >>> >> > ready, I >>> >> > think we'll shift to mx RO, although royale RO could b= e >>> >> continue to be >>> >> > valid (since is a small implementation that works), or >>> we could >>> >> decide >>> >> > deprecate it. Anyway, I'm not talking to make >>> improvements over >>> >> > something >>> >> > that others will evolve separately, I want to improve >>> something >>> >> that >>> >> > otherwise will remain as is. >>> >> > >>> >> > >>> >> > >>> >> > El mar., 9 oct. 2018 a las 12:39, Piotr Zarzycki (< >>> >> > piotrzarzycki21@gmail.com>) >>> >> > escribi=C3=B3: >>> >> > >>> >> > > Carlos, >>> >> > > >>> >> > > You can always use branch, make your changes and wai= t >>> for the >>> >> proper >>> >> > one >>> >> > > using branch. Some time ago Harbs did it the same as >>> far as I >>> >> > remember. >>> >> > > There is no need to wait if you need something ASAP. >>> >> > > >>> >> > > Thanks, >>> >> > > Piotr >>> >> > > >>> >> > > wt., 9 pa=C5=BA 2018 o 12:36 Carlos Rovira < >>> >> carlosrovira@apache.org> >>> >> > > napisa=C5=82(a): >>> >> > > >>> >> > > > Hi Alex, >>> >> > > > >>> >> > > > since there's no planned ETA for anyone here (that >>> I know), >>> >> I >>> >> > could try >>> >> > > at >>> >> > > > some point to have a minimal Responder >>> functionality in the >>> >> current >>> >> > > working >>> >> > > > RO. Does not have sense to duplicate all the code >>> but I >>> >> think has >>> >> > sense >>> >> > > to >>> >> > > > see if some little changes can provide the minimal >>> needs. >>> >> > > > >>> >> > > > thanks >>> >> > > > >>> >> > > > >>> >> > > > >>> >> > > > El mar., 9 oct. 2018 a las 0:25, Alex Harui >>> >> > () >>> >> > > > escribi=C3=B3: >>> >> > > > >>> >> > > > > I think you'll have to wait until someone gets >>> all of the >>> >> old >>> >> > Flex RO >>> >> > > > code >>> >> > > > > to compile and run. I'm currently still >>> debugging the >>> >> compiler, >>> >> > so no >>> >> > > > way >>> >> > > > > it will be ready tomorrow. >>> >> > > > > >>> >> > > > > It doesn't make sense to try to duplicate all of >>> this >>> >> code and >>> >> > get it >>> >> > > to >>> >> > > > > work some other way. >>> >> > > > > >>> >> > > > > -Alex >>> >> > > > > >>> >> > > > > On 10/8/18, 3:21 PM, "Carlos Rovira" < >>> >> carlosrovira@apache.org> >>> >> > wrote: >>> >> > > > > >>> >> > > > > Hi Alex, >>> >> > > > > >>> >> > > > > I'm closing for today, but tomorrow I'll nee= d >>> to >>> >> handle more >>> >> > than >>> >> > > one >>> >> > > > > Responder for RemoteObject calls, so each >>> >> operation/method >>> >> > can have >>> >> > > > > it's >>> >> > > > > own responder and create methods for each on= e >>> in my >>> >> > controllers. >>> >> > > with >>> >> > > > > the >>> >> > > > > current RemoteObject implementation could yo= u >>> share >>> >> what >>> >> > could be >>> >> > > the >>> >> > > > > most >>> >> > > > > quick and easy way to get this while the ful= l >>> RO >>> >> > implementation is >>> >> > > on >>> >> > > > > the >>> >> > > > > works? Now that I'm starting to grow the app >>> code >>> >> base I can >>> >> > rely >>> >> > > on >>> >> > > > a >>> >> > > > > result handler full of if-then-else >>> >> > > > > >>> >> > > > > Thanks for any help on this >>> >> > > > > >>> >> > > > > Carlos >>> >> > > > > >>> >> > > > > >>> >> > > > > >>> >> > > > > >>> >> > > > > El lun., 8 oct. 2018 a las 18:52, Carlos >>> Rovira (< >>> >> > > > > carlosrovira@apache.org>) >>> >> > > > > escribi=C3=B3: >>> >> > > > > >>> >> > > > > > Ok Alex, thanks, didn't know that you have >>> this >>> >> task to >>> >> > make it >>> >> > > > work >>> >> > > > > RO. I >>> >> > > > > > though you only try to compile it. >>> >> > > > > > That's good to know. I'm trying right now >>> to make a >>> >> real >>> >> > world >>> >> > > app >>> >> > > > > and >>> >> > > > > > since I don't have a micro structural IOC >>> framework >>> >> like >>> >> > Swiz, >>> >> > > that >>> >> > > > > was >>> >> > > > > > that I use in Flex, I'm trying to structur= e >>> and >>> >> organize >>> >> > screens, >>> >> > > > > > controllers, delegates, and so on, and I'm >>> trying >>> >> to put >>> >> > things >>> >> > > as >>> >> > > > > easy as >>> >> > > > > > possible so I can refactor more later to >>> something >>> >> more >>> >> > suited >>> >> > > for >>> >> > > > > this >>> >> > > > > > task, since I don't have time now to build= a >>> >> framework for >>> >> > this >>> >> > > due >>> >> > > > > to >>> >> > > > > > reduced time lines. >>> >> > > > > > >>> >> > > > > > If you get this RO proxy way to call backe= nd >>> >> methods and >>> >> > > > AsyncToken, >>> >> > > > > > that's what I need to connect with MX >>> RemoteObject >>> >> in the >>> >> > same >>> >> > > way >>> >> > > > > we use >>> >> > > > > > to do. >>> >> > > > > > >>> >> > > > > > I'll be waiting for your. progress there >>> >> > > > > > >>> >> > > > > > thanks >>> >> > > > > > >>> >> > > > > > Carlos >>> >> > > > > > >>> >> > > > > > >>> >> > > > > > >>> >> > > > > > >>> >> > > > > > >>> >> > > > > > >>> >> > > > > > El lun., 8 oct. 2018 a las 17:28, Alex Har= ui >>> >> > > > > () >>> >> > > > > > escribi=C3=B3: >>> >> > > > > > >>> >> > > > > >> I believe I already said I am working on >>> >> RemoteObject. >>> >> > > > > >> >>> >> > > > > >> The Flex compiler generates custom code f= or >>> >> > mx:RemoteObject. >>> >> > > The >>> >> > > > > Royale >>> >> > > > > >> Compiler currently does not. I am workin= g >>> on it. >>> >> > > > > >> >>> >> > > > > >> Thanks, >>> >> > > > > >> -Alex >>> >> > > > > >> >>> >> > > > > >> On 10/8/18, 3:13 AM, "Carlos Rovira" < >>> >> > carlosrovira@apache.org> >>> >> > > > > wrote: >>> >> > > > > >> >>> >> > > > > >> Hi, >>> >> > > > > >> >>> >> > > > > >> I was experimenting trying to get >>> RemoteObject >>> >> to >>> >> > proxy >>> >> > > method >>> >> > > > > calls. >>> >> > > > > >> >>> >> > > > > >> so instead of doing >>> >> > > > > >> >>> >> > > > > >> service.send("echo", [name_txt.text])= ; >>> >> > > > > >> >>> >> > > > > >> be able to do: >>> >> > > > > >> >>> >> > > > > >> service.echo(name_txt.text); >>> >> > > > > >> >>> >> > > > > >> I tried with Proxy class >>> >> > > > > >> >>> >> > > > > >> (org.apache.royale.utils.Proxy) >>> >> > > > > >> >>> >> > > > > >> and implementing IEventDispatcher, bu= t >>> >> compiler throws >>> >> > > error: >>> >> > > > > >> >>> >> > > > > >> Call to a possibly undefined method >>> echo >>> >> through a >>> >> > reference >>> >> > > > > with >>> >> > > > > >> static >>> >> > > > > >> type RemoteObject. >>> >> > > > > >> >>> >> > > > > >> It's possible to do something like >>> this? what >>> >> I'm >>> >> > missing? >>> >> > > > > >> >>> >> > > > > >> This seems a little enhancement, but >>> it would >>> >> be cool >>> >> > if we >>> >> > > > get >>> >> > > > > it in >>> >> > > > > >> order >>> >> > > > > >> to be more near of the normal syntax >>> we all >>> >> have in >>> >> > our code >>> >> > > > > bases. >>> >> > > > > >> >>> >> > > > > >> thanks >>> >> > > > > >> >>> >> > > > > >> -- >>> >> > > > > >> Carlos Rovira >>> >> > > > > >> >>> >> > > > > >> >>> >> > > > > >>> >> > > > >>> >> > > >>> >> > >>> >> >>> https://na01.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fabout= .me%2Fcarlosrovira&data=3D02%7C01%7Caharui%40adobe.com%7Ca103dd7253104f= 55b80908d62f09867d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63674811531= 1722500&sdata=3DCfpsY0guxPri3iOWaEhfU6nHhuGQFxHtc%2B6Soj%2BzpqQ%3D&= reserved=3D0 >>> >> > > > > >> >>> >> > > > > >> >>> >> > > > > >> >>> >> > > > > > >>> >> > > > > > -- >>> >> > > > > > Carlos Rovira >>> >> > > > > > >>> >> > > > > >>> >> > > > >>> >> > > >>> >> > >>> >> >>> https://na01.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fabout= .me%2Fcarlosrovira&data=3D02%7C01%7Caharui%40adobe.com%7Ca103dd7253104f= 55b80908d62f09867d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63674811531= 1722500&sdata=3DCfpsY0guxPri3iOWaEhfU6nHhuGQFxHtc%2B6Soj%2BzpqQ%3D&= reserved=3D0 >>> >> > > > > > >>> >> > > > > > >>> >> > > > > >>> >> > > > > -- >>> >> > > > > Carlos Rovira >>> >> > > > > >>> >> > > > > >>> >> > > > >>> >> > > >>> >> > >>> >> >>> https://na01.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fabout= .me%2Fcarlosrovira&data=3D02%7C01%7Caharui%40adobe.com%7Ca103dd7253104f= 55b80908d62f09867d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63674811531= 1722500&sdata=3DCfpsY0guxPri3iOWaEhfU6nHhuGQFxHtc%2B6Soj%2BzpqQ%3D&= reserved=3D0 >>> >> > > > > >>> >> > > > > >>> >> > > > > >>> >> > > > >>> >> > > > -- >>> >> > > > Carlos Rovira >>> >> > > > >>> >> > >>> >> >>> https://na01.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fabout= .me%2Fcarlosrovira&data=3D02%7C01%7Caharui%40adobe.com%7Ca103dd7253104f= 55b80908d62f09867d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63674811531= 1722500&sdata=3DCfpsY0guxPri3iOWaEhfU6nHhuGQFxHtc%2B6Soj%2BzpqQ%3D&= reserved=3D0 >>> >> > > > >>> >> > > >>> >> > > >>> >> > > -- >>> >> > > >>> >> > > Piotr Zarzycki >>> >> > > >>> >> > > Patreon: * >>> >> > >>> >> >>> https://na01.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fwww.= patreon.com%2Fpiotrzarzycki&data=3D02%7C01%7Caharui%40adobe.com%7Ca103d= d7253104f55b80908d62f09867d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63= 6748115311722500&sdata=3DK6vSJw%2Blkl13yO%2BiFsO7N%2FZsBvoadpPcHUTwmSxK= 7AM%3D&reserved=3D0 >>> >> > > < >>> >> > >>> >> >>> https://na01.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fwww.= patreon.com%2Fpiotrzarzycki&data=3D02%7C01%7Caharui%40adobe.com%7Ca103d= d7253104f55b80908d62f09867d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63= 6748115311732505&sdata=3DUAfPn4xSsprYPhMJCYyKHn%2F85PW6n09XFU5uuC5SHHY%= 3D&reserved=3D0 >>> >> > >* >>> >> > > >>> >> > >>> >> > >>> >> > -- >>> >> > Carlos Rovira >>> >> > >>> >> > >>> >> >>> https://na01.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fabout= .me%2Fcarlosrovira&data=3D02%7C01%7Caharui%40adobe.com%7Ca103dd7253104f= 55b80908d62f09867d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63674811531= 1732505&sdata=3Dy%2Bctvc4%2F0YE4QdVgDBdK%2BQ7zj4xvUHoe8mWv9Zq%2BmOA%3D&= amp;reserved=3D0 >>> >> > >>> >> > >>> >> > >>> >> >>> >> -- >>> >> Carlos Rovira >>> >> >>> >> >>> https://na01.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fabout= .me%2Fcarlosrovira&data=3D02%7C01%7Caharui%40adobe.com%7Ca103dd7253104f= 55b80908d62f09867d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63674811531= 1732505&sdata=3Dy%2Bctvc4%2F0YE4QdVgDBdK%2BQ7zj4xvUHoe8mWv9Zq%2BmOA%3D&= amp;reserved=3D0 >>> >> >>> >> >>> >> >>> > >>> > -- >>> > Carlos Rovira >>> > >>> https://na01.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fabout= .me%2Fcarlosrovira&data=3D02%7C01%7Caharui%40adobe.com%7Ca103dd7253104f= 55b80908d62f09867d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63674811531= 1732505&sdata=3Dy%2Bctvc4%2F0YE4QdVgDBdK%2BQ7zj4xvUHoe8mWv9Zq%2BmOA%3D&= amp;reserved=3D0 >>> > >>> > >>> >>> -- >>> Carlos Rovira >>> >>> https://na01.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fabout= .me%2Fcarlosrovira&data=3D02%7C01%7Caharui%40adobe.com%7Ca103dd7253104f= 55b80908d62f09867d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63674811531= 1732505&sdata=3Dy%2Bctvc4%2F0YE4QdVgDBdK%2BQ7zj4xvUHoe8mWv9Zq%2BmOA%3D&= amp;reserved=3D0 >>> >>> >>> >> >> -- >> Carlos Rovira >> http://about.me/carlosrovira >> >> > > -- > Carlos Rovira > http://about.me/carlosrovira > > --=20 Carlos Rovira http://about.me/carlosrovira --0000000000002338e40577f28a41--