Actionscript :: Override Flex Netconnection Call Method That Uses Variable Arguments
Jun 16, 2010I need to override the call method from NetConnection class, the signature of the method is:
[Code]...
I need to override the call method from NetConnection class, the signature of the method is:
[Code]...
This AS3 function works for normal methods and getter methods:
public function MyClassTestAPI(functionName:String, ...rest):* {
var value:*;
try {
[Code]......
I have an object MyTester, that has an instance of another class MyClass, and I want to test MyClass API through it:
public class MyTester {
internal var myObj:MyClass;
public function MyTester() {
[Code].....
How can I cancel the switch and make it work for any number of arguments?
I have a "format" method that works in a similar manner to the C# String.Format method, with the following signature:
[Code]...
I want to create a custom button in ActionScript. [code]...
View 2 RepliesI am trying to learn the new services method in flex 4. but i cant get it work. A test oparation near the service in flash builder 4 works. But when i run the code i get NetConnection.Call.Failed: HTTP: Failed.
CODE:
PHP
<?php
class AuthService {
public function login($username, $password) {[code].......
I've a custom itemRenderer for my datagrid. To set the actual data I use the following method:
override public function set data(side:Object):void{
...
}
As soon as I use this function the cell doesn't show up any item Editor anymore. Why is that? When I remove this function the itemEditor is working but with the wrong initialization data.
I'm writing a real-time app using a Flex/Flash client and my own server running on Linux.
I'd like to be able to send data from the Flex client in real time (in response to user actions). I've tried the following methods:
flash.net.NetConnection.call()
flash.net.sendToURL()
flash.net.Socket.write() followed by flash.net.Socket.flush()
[Code].....
The second nc.call() above won't send data to the server until the ACK for the first call has been recieved. I'd like to be able to send data immediately without waiting for that ACK.
If the round-trip time to the server is long (e.g. 300ms) I can only send data to the server 3 times a second. Ideally I'd like to be able to send data up to 30 times per second, but this is only possible with a RTT of around 30ms at the moment.
It doesn't matter if the server itself gets the data 300ms late - I realise I can't beat the speed of light.
Is there any way to get the Flash Player to send data without waiting for an ACK? In other environments this is done by setting the TCP_NODELAY flag on the socket but it seems I don't have that level of control in Flash/Flex.
Update: I think I may have stumbled on a workaround for this. I think the Flash Player tries to get the host browser to give it a separate TCP connection for each NetConnection object, subject to the connection limit for each browser, e.g. 2 for IE. The connection limit can be got around by using sub-domains (haven't tried this yet) so hopefully it should be possible to get closer to real-time behaviour by using a pool of NetConnections.
I am Using Flex as my client and java as my server. Using Weborb in remote host. At times I recieve this error.
faultCode:Client.Error.MessageSend
faultString:'Send failed'
faultDetail:'Channel.Connect.Failed error NetConnection.Call.BadVersion: :
[code].....
I have a component that I hand over a function
public var func : Function;
Now the function is a function that has parameters in its signature
public function myFunction(s : String) : void {
doSomething(s);
}
from my component I can call the function with
func.call();
how to invoke the function with its parameters?
if I want to add something to the implementation of
public static function createPopUp(parent:DisplayObject,
className:Class,
modal:Boolean = false,
[Code]....
do I have to put all the arguments in my function declaration or does it pick them up implicitly?
I'm trying to get the AS3 Flash remoting example found here: [URL]. and I keep getting this error: Code: Select allError #2044: Unhandled NetStatusEvent:. level=error, code=NetConnection.Call.BadVersion at amfphp1_fla::MainTimeline/frame1() Here's the code I'm trying:
[Code]....
I need to be able to communicate between two applications that reside on the same machine. One is using Flex and the other is in C++. I would like to be able to call functions and pass arguments to each other. What is the best way to communicate between them?
View 3 RepliesI have a Flex and Java application and i am using BlazeDS between flex and java. Generally my application works fine. I observed when ever i try fetch data little faster(not giving gap between two fetch commands) then i am getting the error "Server error :faultCode:Channel.Call.Failed faultString:'error' faultDetail:'NetConnection.Call.Failed: HTTP: Failed'"
I guess when ever load is increasing on BlazeDs, i am getting the error. I am calling the java service using following code
[Code]...
I always have a question about override custom event. I am not sure why or what do to inside override function. I searched google but didn't get too many feedbacks. EDIT: My projects seem work fine even though I use my custom event without override. Anyone could explain it?
View 2 RepliesI need to call an HTTP service using Flex that has variable arguments. I'm using Flash Builder 4 (Gumbo) to create the service definition, but there's no UI for variable arguments, and the subclass of HTTPServiceWrapper that it creates doesn't seem to support it.
View 1 RepliesIs it possible for a class to override it's own methods at runtime? I know this is possible to do in JavaScript by simply assigning a new function to the method name, but this doesn't appear to work in AS3.
Example: Let's say I have a DisplayObject with many accessors and methods. The user is allowed to load a dynamic library that overrides several of the functions and methods in the DisplayObject. As author of the DisplayObject, I have no idea what methods the user's library is going to override... only that they can. IS this possible?
The only thing I can come up with so far is to literally override every single method and accessor in the DisplayObject, then performing a check whenever they get called:
[Code]...
I'm using flash to draw objects, then I export them and use them from flex, and I'm a beginner in flash.
I'm trying to do the override a method from the MovieClip I created. The method I'm trying to override is stop() method. I didn't write a single line of code, my movie clip is created using entirely the flash interface. I figured out how to add actions to the movie clip when a frame is reached but I'm stucked now when I'm trying to override a MovieClip method.
Well, basically, you know the question already What bugs me is that I cannot get an answer to this because compiler doesn't like overriding internal functions in different packages, but, I would like to know what you think it should do, if it would have compiled?
I.e. imagine: I have foo.bar:A class and foo.abc:B class. Then foo.abc:B extends foo.bar:A.
foo.bar:A defines internal function f(). foo.abc:B overrides internal function f(). Now, the question: Can foo.abc.C call foo.abc:B#f()?
I want to pass a rest in a netconnection call, something like this:
public function requestData(service : String, ...params) : void
{
nc.call(service, params);
}
this doesn't work since the call is expecting each parameter to be separated by commas, like:
nc.call(service, params[0], params[1], params[2]);
I've read some posts about apply, but I can't find a solution for this specific case.
I need it in FlexUnit to test private methods. Is there any possibility to do this via reflection by using describeType or maybe flexUnit has some build in facility? I dislike artificial limitation that i cannot test private functions, it greatly reduces flexibility. Yes it is good design for me to test private functions, so please do not advise me to refactor my code. I do not want to break the encapsulation for the sake of unit testing.
View 4 RepliesIs it possible to override/replace a method of a class in AS3? When I say "replace", I don't mean subclass it and override it. I mean I literally want to replace the existing method with my own. For instance, AS3 has the built-in HTMLLoader class which has a load method. I want to say, in essence:
HTMLLoader.load = function() { trace("Overridden"); };
Therefore, when *anybody* makes a new HTMLLoader object and calls the load method, it will call my method instead.
I've tried a couple things, and so far I've gotten this far:
HTMLLoader.prototype.load = function() { trace("Overridden") };
And I compile it with -as3=false -es=true -strict=false. The problem is it doesn't override the already-existing load method. It looks in the class first before looking in the prototype, thus making it not work. There must be a way. Even if I can't override it, can I proxy it like a decorator in Python or a macro in LISP? (So mine gets called then it gets called.)
override a custom class method with a function expression? For instance, if I want to change the destination of a button on the fly, I could theoretically type:
Code:
var new_destination:Function = function(evt:Event):void{ go_to_new_place();};
myButtonClass.mouse_clicked = new_destination;
but unfortunately that generates an error because the class method "mouse_clicked" is already defined in my class (with the eventListener tied to it). I tried using the "override" keyword in the Function Expression but that didn't work either.
Is there any way to call the override depending on what value a var has?[code]...
View 4 RepliesI need to communicate to the server in real-time. I can't let clients write to remote shared objects so I have to forward their requests to the server which checks if the data is valid and then writes it to a remote shared object. Should I use NetConnection.call() to forward clients' request to the server or is there something faster than that?
View 3 RepliesI'm recording mic audio into a byte array as a WAV file and uploading it with NetConnection.call(amf.service,responder,bytearray ); It works fine but the files are very large and take a long time to upload. Is there any way to get the upload progress? I can't find anything in AS3 docs or on the web.
View 5 RepliesIf I have a .mxml file that has a method in it and a public property, can I have the method execute whenever the property changes.
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
[Code].....
In another .mxml file I have added this .mxml file like so:
<viewComponents:MyViewComponent myProperty="{myVariable}" />
In my Flex 4.5 application I have a TitleWindow Settings.mxml, which is popped up by the PopUpManager.Once the user has changed some settings, I not only need to save them to a SharedObject, but also to apply them to the main Application itself - so that the changes are visible to the user immediately.For example I need to call its method hideApp(somevalue);
The spark.components.Application does not seem to have any static/singleton methods to get ahold of it.So how do you do it? how to declare, that an MXML file implements one or several interfaces?
package {
public interface Hiddable {
function hideApp(value:Number):void;[code]....
besides the main Application I have a SettingsTest.mxml Application in my project for"unit testing" that particular functionality.
I am using this guide for passing data to modules "Using interfaces for module communication". For getting child module instances they have done this
var ichild:* = mod.child as IModuleInterface; (mod = moduleLoader)
What should I do to get instance of parent application inside module? How can I call parent methods inside modules?
In my application I have a viewstack which I am changing via actionscript using the selectedChild attribute. The problem I run into is that I want to call a method in the component that is now the selected child in the viewstack, right after I assign it to be the child it gives me a "Cannot access a property or method of a null object reference." Is there some way that I can make this work without changing the creationPolicy to all?
Actionscript:
public function displayTaskDashboard(evt:Event):void
{
pm_viewstack.selectedChild = nc_taskDashboard;
taskDashboard.populateTasks(Globals.currentProject.Project_ID);
[Code]....