Call function with arguments in AS3
Hello!
I`m a new in Flex developing, and cannot understand same code
convention, im Java programmer.
How I can write correct function call in ActionScript, my
call: var goodsWnd:CreateGoodsWindow =
PopUpManager.createPopUp(this,
CreateGoodsWindow, true) as CreateGoodsWindow;
I wish call function above with argument, how I do that?
Where my class: public class CreateGoodsWindow extends
extends TitleWindow
public CreateGoodsWindow(data:Object)
}
Use PopUpManager.addPopUp() instead of createPopUp().
addPopUp takes an object that has already been instantiated:
var createGoodsWindow:CreateGoodsWindow = new
CreateGoodsWindow(data);
PopUpManager.addPopUp(createGoodsWindow);
Similar Messages
-
(JavaScript, CS3) calling functions with arguments on click?
Hi all,
this is getting tricky:
I want to call a function when the user clicks on a button in my scripted application (a javascript window dialog).
Unfortunately, I need to pass several arguments to the function.
According to the scripting documentation, ".onClick" functions won't take arguments.
I would (somewhat reluctantly) work with (global) variables but the function itself is limited to variables within its own scope - blocking all variables set in main()
How should I approach this?
The basic idea is to have people set some settings in the UI and then do some things after they click ok.
The actual work is pretty complicated (replacing colors etc) and needs to be done to a lot of objects so it would make sense to do it in a function.
I'm pretty confused right now and don't know how to proceed.
Any hints are appreciated.
Many thanks,
MikeIt took some tinkering but I got it to work.
But I still don't see how I can access the whole DOM from within the onClick functions:
I can get to the dialog properties (this.parent.parent) but nevertheless don't have any way to access app.documents and such.
I was able to manage my way around by making the whole window a dialog instead of a window - thereby getting a return value from the OK button and being able to run the code from within main().
Still strange, though...
Cheers,
Mike -
Listener calls Function plus Arguments??
Hi guys,
Not sure if there's an easy way to do this, I'd like a
listener to call a function with arguments when triggered.
Currently, what I have looks like this:
object.addEventListener(errorTrigger, functionToCall);
public function functionToCall():void {
...you get my idea...
And, I'd really like to add some arguments to the function. I
realize that if I use:
object.addEventListener(errorTrigger,
functionToCall(myArgument));
then it will want
functionToCall to
return a
function name to be used. Hopefully, you're still with me on
this...
The reason I want to add the arguments, is because I have
three different listeners.
And I'd rather not have three different functions to deal
with them, I'd rather consolidate it into one function and use the
argument to distinguish the difference.
Rather than:
object.listener(error1, function1);
object.listener(error2, function2);
object.listener(error3, function3);
function1 ():void {}
function1 ():void {}
function1 ():void {}
I'd prefer something like:
object.listener(error1, function(1));
object.listener(error2, function(2));
object.listener(error3, function(3));
function(num):void {}
Hopefully, that all makes sense. Sorry, I'd post the code,
but it's way to long, and I'd rather not confuse anyone with
something else contained within it.
More than happy to try and cut it down if someone needs to
see the code though.
Cheers
OzThanks for your efforts, I don't quite know whether it's what
I'm looking for though.
The events I am using are predefined by Flex's upload
function. So, this may help:
fileUpload.addEventListener(HTTPStatusEvent.HTTP_STATUS,
uploadError);
fileUpload.addEventListener(IOErrorEvent.IO_ERROR,
uploadError);
fileUpload.addEventListener(SecurityErrorEvent.SECURITY_ERROR,
uploadError);
And I'd really like to add the parameters to the end, like
so:
fileUpload.addEventListener(HTTPStatusEvent.HTTP_STATUS,
uploadError(param));
fileUpload.addEventListener(IOErrorEvent.IO_ERROR,
uploadError(param));
fileUpload.addEventListener(SecurityErrorEvent.SECURITY_ERROR,
uploadError(param));
Is this something that I have to cast to / extend apon the
existing events using your technique above? In essence, creating a
duplicate of this event?
Thanks
Oz. -
Call function with select arguments
Hi Gurus,
I have problem to call function inside select statements as follow:
select a.ID_ELE2, a.ID_ELE3, a.DT_FIS_YR, c.NU_FIS_PER, c.dt,
(case
when c.ld is null then
GET_LD_CHECK (a.DT_FIS_YR,c.NU_FIS_PER, a.ID_ELE3, a.ID_ELE2) -- 1
-- GET_LD_CHECK ('2009',7, '8010', '7493') --- 2
else
c.ld
end ) description
from ACCOUNT a, TRANSACTION c
where a.DT_FIS_YR ='2009'
and a.ID_ELE3 <> '0000'
and c.TY_SRC not in ('CL', 'CN')
and a.DT_FIS_YR = c.nu_fis_yr
and a.AK = c.AK_FGCHAR
and trim(a.ID_ELE3) ='8010'
and c.NU_FIS_PER <> 14
order by 1,4,5,6
the 1 doesn't output result but the 2 it does! How can pass the select result to the function?
Thanks in advance for your help.
BenThe statement / function call seems to be ok. So there are not much chances left for your call to return different (=non) values.
1) It could be that you have different values in the column then during your test call.
2) Maybe your function raises an error and that error is supressed in some ugly WHEN OTHERS EXCEPTION => Solution: Get rid of the error handler.
3) datatype conversion. For example if a.dt_fis_yr is a number value, then you should test with number values and not with strings. GET_LD_CHECK (2009,7, '8010', '7493'). Same logic goes for the other paramters, make sure the datatype is correct and matches the function parameter. -
Error while transforming XSLT by calling function with Reflection API
Hi,
I'm new to Reflection API. I want to call function from the jar file which is not in my application context. So I have loaded that jar ( say XXX.jar) file at runtime with URLClassLoader and call the function say [ *myTransform(Document document)* ]. Problem is that when I want to transform any XSLT file in that function it throws exception 'Could not compile stylesheet'. All required classes are in XXX.jar.
If I call 'myTransform' function directly without reflection API then it transformation successfully completed.
Following is code of reflection to invoke function
ClassLoader contextCL = Thread.currentThread().getContextClassLoader();
URLClassLoader loader = new URLClassLoader(jarURLs, contextCL);
Class c = loader.loadClass(fullClasspath);
Constructor constructor = c.getDeclaredConstructor(constructorParamsClasses);
Object instance = constructor.newInstance(constructorParams);
Method method = c.getDeclaredMethod("myTransform", methodParamsClasses);
Object object = method.invoke(instance, methodParams);Following is function to be called with reflection API.
public Document myTransform ( Document document ) {
// Reference of Document (DOM NODE) used to hold the result of transformation.
Document doc = null ;
// DocumentBuilderFactory instance which is used to initialize DocumentBuilder to create newDocumentBuilder.
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance () ;
// Reference of DocumentBuilder used to create new Document (DOM NODE).
DocumentBuilder builder;
try {
// Initialize DocumentBuilder by using DocumentBuilderFactory instance.
builder = factory.newDocumentBuilder ();
// Initialize new document instance by using DocumentBuilder instance.
doc = builder.newDocument () ;
// Creates new DOMSource by using document (DOM NODE) which is coming through current transform() method parameter.
DOMSource domsource = new DOMSource ( document ) ;
// Creates new instance of TransformerFactory.
TransformerFactory transformerfactory = TransformerFactory.newInstance () ;
// Creates new Transformer instance by using TransformerFactory which holds XSLT file.
Transformer transformer = null;
********* exception is thrown from here onward ******************
transformer = transformerfactory.newTransformer (new StreamSource (xsltFile));
// Transform XSLT on document (DOM NODE) and store result in doc (DOM NODE).
transformer.transform ( domsource , new DOMResult ( doc ) ) ;
} catch (ParserConfigurationException ex) {
ex.printStackTrace();
} catch (TransformerConfigurationException ex) {
ex.printStackTrace();
} catch (TransformerException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
//holds result of transformation.
return doc ;
}Following is full exception stacktrace
ERROR: 'The first argument to the non-static Java function 'myBeanMethod' is not a valid object reference.'
FATAL ERROR: 'Could not compile stylesheet'
javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:829)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:623)
at com.actl.dxchange.utilities.Transformation.transform(Transformation.java:83)
at com.actl.dxchange.base.BaseConnector.transform(BaseConnector.java:330)
at com.actl.dxchange.connectors.KuoniConnector.doRequestProcess(KuoniConnector.java:388)
at com.actl.dxchange.connectors.KuoniConnector.hotelAvail(KuoniConnector.java:241)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
...........Hi,
Thanks for response.
Following is code for setting 'methodParamsClasses' array object. I do ensure that Document is not null and valid. My application is web application.
Document requestObj = /* my code for generating Document object*/
Object[] methodParams = new Object[]{requestObj}
Class[] methodParamsClasses = new Class[]{};
if (methodParams != null) {
methodParamsClasses = new Class[methodParams.length];
for (int i = 0; i < methodParams.length; i++) {
if (methodParams[i] instanceof Document) {
/************** if parameter is instance of Document then I set class type as "Document.class" ***********/
methodParamsClasses[i] = Document.class;
} else {
methodParamsClasses[i] = methodParams.getClass(); -
CALL FUNCTION WITH STARTING NEW TASK
Hi All,
i'm call a function module through
CALL FUNCTION 'Y_WIN' DESTINATION 'rfc_destination' then it's give right result but when i want to call with starting new task then
CALL FUNCTION 'Y_WIN' STARTING NEW TASK 'INFO' DESTINATION 'rfc_destination'
it does nt provide me any data. i have check in debugger call fm is wkging fine so pls clear me why i'm nt geeting result.
pls give ur suggestions,
AnujDid you use the PERFORMING <form> ON END OF TASK to get the results back; like in the following sample
CALL FUNCTION 'SAPWL_STATREC_READ_FILE'
STARTING NEW TASK taskname
DESTINATION list-name
PERFORMING read_outtab ON END OF TASK
EXPORTING
read_start_date = s_date
read_start_time = '000000'
read_end_date = s_date
read_end_time = '235959'
EXCEPTIONS " failure when calling RFC
communication_failure = 1 MESSAGE msg_text
system_failure = 2 MESSAGE msg_text
RESOURCE_FAILURE = 3.
and
FORM read_outtab USING taskname.
* Receive results back
RECEIVE RESULTS FROM FUNCTION 'SAPWL_STATREC_READ_FILE'
TABLES
v2_normal_records = outtab
EXCEPTIONS " from the called FM
nodata = 1.
Regards -
How to invoke a function with arguments in JSTL expressions
Hi ,
I want to know how to send arguments in the JSTL expression.
I have a scenario like this
for (int i=0; i<nicList.size(); i++)
NavigationItemControl nic = nicList.get(i);
ni = nic.getNavigationItem();
//scr
if (nic.isAvailable(Mask.SYSTEM))
{ %>
<option value="<%=ni.getInternalHandle()%>" <% if(pi.getNavigationItemHandle().equals(ni.getInternalHandle())) {%>selected<%}%> ><%=nic.getLabel()%></option>
<%
} I was changed these code into JSTL ,the new one is
<c:forEach var="nic" items="${nicList}">
<c:set var="ni" value="${nic.navigationItem}"/>
<c:set var="nicAvailableMaskSystem" value="${*nic.available*}"/>
<c:set var="navigationItemHandle" value="true" />
<c:if test="${nicAvailableMaskSystem}">
<option <c:if test="${pi.navigationItemHandle==ni.internalHandle}"> selected </c:if> value="${ni.internalHandle}" >
${nic.label}
</option>
</c:if>
</c:forEach>in the above code I have problem with nic.isAvailable(Mask.SYSTEM),
Can any one help me on this how can I invoke a function in JSTL with arguments.
-BhaskarJSTL can only handle getter/setter methods. You can't pass parameters to the methods.
There are a couple of ways around this
1 - set up "mask" as a seperate attribute of the NavigationItemControl bean.
ie getMask() setMask()
and then have your isAvailable method as
public boolean isAvailable(){
return internalIsAvailable(getMask());
}Another solution is to define a static function and invoke it as a function.
public static boolean navigationAvailable(NavigationItemControl, Mask);
What does the isAvailable() method do? How complicated is it?
Hope this helps,
evnafets -
Cannot call functions with this[]
Hello,
I'm in trouble because I need to call functions from MCs with
a variable
name.
I tried to use this[] that should do the trick, but it
doesn't.
Here's what I did in code to try to debug :
- trace what's inside the this[]
- the actual this[]
- a cut and paste of the above trace() with the function call
Of course, both "hardcoded" calls work..; what am I doing
wrong ?
Here's the code :
trace(_parent + "." + buttonName);
trace("_parent." + buttonName);
this[_parent + "." + buttonName].setBtnState("test1");
this["_parent." + buttonName].setBtnState("test2");
_parent.mcBtn1.setBtnState("test3");
_level0.mcInt.mcBtn1.setBtnState("test4");
What am I supposed to feed this[] with ? Path as a string ?
Thanks in advance.
PJWhat you need to feed the array operator is a string or a
variable that can be resolved to a string. And that string needs to
be the sole name of an instance or property of something that can
be found in that object.
So the reason the ones with the "_parent.mcMe" didn't work is
because there is no object with the name "_parent.mcMe" inside of
this. There is a _parent object and inside the parent object there
is an mcMe, but that isn't the same thing.So you need to pick out
the path one item at a time.
this["_parent"]["mcMe"]["testMe"]();
Should also work. And any of those string litterals could be
replaced by a variable which held a string as well. Also notice
that the function at the end can also be referenced since you are
looking inside the mcMe object for some object with a name of
testMe. But the parens which call the function need to be outside
the array access because they aren't part of the name of the
object. -
I have a function that performs DML. I am calling the function from toplink with the following. I get an error
ORA-14551: cannot perform a DML operation inside a query when I try to execute this function. Is there another way to call functions without using select From dual?
String queryFunc = "SELECT " +
"CCU.adjPaymentTrans(#caseID, #obligorPIN, #ccuPIN, #transCd, #payorTp) " +
"FROM dual";
SQLCall sqlCallFunc = new SQLCall(queryFunc);
ValueReadQuery valueReadFunc = new ValueReadQuery(sqlCallFunc);
valueReadFunc.addArgument("caseID");
valueReadFunc.addArgument("obligorPIN");
valueReadFunc.addArgument("ccuPIN");
valueReadFunc.addArgument("transCd");
valueReadFunc.addArgument("payorTp");
valueReadFunc.bindAllParameters();
Vector theArgumentValuesFunc = new Vector(6);
theArgumentValuesFunc.add(caseID);
theArgumentValuesFunc.add(obligorPIN);
theArgumentValuesFunc.add(ccuPIN);
theArgumentValuesFunc.add(transCd);
theArgumentValuesFunc.add(payorTp);
Number amountReversed = (Number)uow.executeQuery(valueReadFunc, theArgumentValuesFunc);Normally DML is only done from stored procedures, not stored functions, you may want to consider changing the function to a procedure.
To call a function that does DML, you must call the function through a PLSQL call. If you did not require the return value, the code would be:
>>
String queryFunc = "begin " +
"CCU.adjPaymentTrans(#caseID, #obligorPIN, #ccuPIN, #transCd, #payorTp);" +
"end;";
SQLCall sqlCallFunc = new SQLCall(queryFunc);
DataModifyQuery modifyFunc = new DataModifyQuery(sqlCallFunc);
>>
If you require the return value, then the SQL would be:
>>
String queryFunc = "begin ? = " +
"CCU.adjPaymentTrans(?, ?, ?, ?, ?);" +
"end;";
>>
However this would have to be executed through a CallableStatement in JDBC. TopLink currently only supports executing stored procedures as callable statements, so you would need to execute this directly through JDBC. You could also convert the function to a procedure, or wrap the function with a procedure. I believe TopLink 10.1.3 will have support for a StoredFunctionCall that can call DML stored functions.
To get a JDBC connection from a TopLink session uses,
UnitOfWork uow = session.acquireUnitOfWork();
uow.beginEarlyTransaction()
uow.getAccessor().getConnection();
uow.commit(); -
Call function with rfc or not ?
How can I know that an function is called by rfc or not ?
info : The caller is not R/3 system. This web interface...
thanks in advanceHi Stephan,
Try this FM
TRANSACTION_CALL_VIA_RFC
Data : v_bdi_line type bdi_line.
Call Function 'TRANSACTION_CALL_VIA_RFC'
Exporting
tcode = sy-tcode.
importing
transaction_data = v_bdi_line.
Exceptions
tcode_not_exist = 1.
if sy-subrc ne 0.
It means it is RFC call.
endif.
Reward points if it helps you.
Regards,
Sudhakar. -
Call function with select options problem
Hi there dear SDN community members.
I have got an strange ABAP problem wich function call.
Code1
CLEAR ls_selec .
ls_selec-iobjnm = '9AMATNR' .
ls_selec-sign = 'I' .
ls_selec-option = 'EQ' .
ls_selec-low = '0000000000000000000000000000000000017714' .
APPEND ls_selec TO lt_selec .
CLEAR ls_selec .
ls_selec-iobjnm = '9AMATNR' .
ls_selec-sign = 'I' .
ls_selec-option = 'EQ' .
ls_selec-low = '0000000000000000000000000000000010079409' .
APPEND ls_selec TO lt_selec .
CALL FUNCTION '/SAPAPO/TS_PLOB_LIST_GET'
EXPORTING
iv_bas_plobid = 'Z_DP_POS'
it_selection = lt_selec
it_group_by = lt_group
IMPORTING
et_plob_values = lt_plobs .
Function returns data in lt_plobs itab only for the last product which was appended to the selection table lt_selec.
Whilst
Code2
CLEAR ls_selec .
ls_selec-iobjnm = '9AMATNR' .
ls_selec-sign = 'I' .
ls_selec-option = 'BT' .
ls_selec-low = '0000000000000000000000000000000000017714' .
ls_selec-high = '0000000000000000000000000000000010079409' .
APPEND ls_selec TO lt_selec .
Returns data in lt_plobs for all products included in selection tab lt_selec.
What am I doing wrong in case of Code1? Why function does not return data for both products included in selection tab lt_selec?
Will be thankful for help. Regards. P.I am very sorry to take your time unnecessarily.
The problem was caused by data inconsistency in our sandbox system I was developing in.
Be understanding, please.
Kind regards. P.
Ps.
Vinod Nair
The 'Loop' solution has slowed the performance down very much. -
How to call function with varray arguments .
Hi,
I've got function like this:
CREATE OR REPLACE
TYPE VARR_VARCHAR AS VARRAY(256) OF NVARCHAR2(500)
CREATE OR REPLACE
TYPE E_VARR_VARCHAR AS VARRAY(256) OF nVARCHAR2(4096)
FUNCTION find_id(
p_id IN VARCHAR2,
p_special_columns IN varr_varchar,
p_special_values IN e_varr_varchar,
RETURN VARCHAR2;How can I construct call to that function (nvarchar datatype is a need) using only pl/sql and can I do that with pure sql like select f() from dual; ?
I'm on 9.2.0.8 .
Regards
GregGselect find_id (p_id,VARR_VARCHAR('1','2','3'),e_varr_varchar('1','2','3')) from dual;
--sty. -
Parent function calling a child function with arguments
Can anyone give examples of a parent function which has at least 1 parameter, and is invoked from the Form Behavior, which in turn , depending on data, invokes 2 or more child functions passing to these functions the same parameter that was passed in to it.
I am getting 'Object required' and do not know what I am doing wrong. Please let me know if you've done it, and how you've referenced it , if they are BOTH functions. Thank you!The best way to do this is probably using delegates, but to do it directly you have to solve the circular dependency problem (as you have discovered). See
http://en.wikipedia.org/wiki/Circular_dependency
In case it is not clear to you how the Wikipedia article relates to your case, your files should look something like this:
// Form1.h
#include "Watch.h"
ref class Form1: public Form
public:
void SomeMethod()
// implementation
private:
void SomeHandler()
Watch watchForm(this);
watchForm.ShowDialog();
// Watch.h
ref class Form1; // declaration only
ref class Watch: public Form
public:
Watch(Form1^ f1);
private:
Form1^ form1;
void SomeMethod();
// Watch.cpp
#include "Watch.h"
#include "Form1.h"
Watch::Watch(Form1^ f1)
form1 = f1;
void Watch::SomeMethod()
form1->SomeMethod();
David Wilkinson | Visual C++ MVP -
Timeline - call function with interpolated values?
Hi there,
I'm currently discovering JavaFX and have the following question.
I would like to make a sequence of calls to a java bean with interpolated values after a button click.
The execution should be handled in a additional Thread and not in the Action handler.
I could do that manually of course, but I'm intrested if JavaFx offers an easy way.
I read something about the commands do and do later, but in Version 1.0 I couldn't find it. Were these Statements removed?
What about Timeline. Can I call the function there? Or can I only assign values to variables?
The part function of a KeyFrame is only called on the Keyframe itself right?
I hope someone can help me on that problem.
Best regardsidef22 wrote:
Hi there,
I read something about the commands do and do later, but in Version 1.0 I couldn't find it. Were these Statements removed?Yes.
Use FX.deferAction() instead :
FX.deferAction(
function(){
println("Hello World");
idef22 wrote:What about Timeline. Can I call the function there? Or can I only assign values to variables?
The part function of a KeyFrame is only called on the Keyframe itself right?
KeyFrame class has the action attribute:
Timeline {
repeatCount: Timeline.INDEFINITE
keyFrames: [
KeyFrame {
time: 1s
canSkip: true
action: function() {
println("Hello World!");
}.play(); -
How call function with objects
How can i simply call a function ?
I have the structure :
A_OBJECT_TYPE with FUNCTION A_FUNC
B_OBJECT_TYPE with FUNCTION B_FUNC
C_OBJECT_TYPE with FUNCTION C_FUNC
An i need to call the B_FUNC from A_FUNC and call the C_FUNC from B_FUNC.
Actually i do a hard SELECT A.B_FUNC() INTO temp FROM A_TABLE A, B_TABLE B
WHERE A.PK = SELF.PK AND ... AND ...
Help me pleaseselect find_id (p_id,VARR_VARCHAR('1','2','3'),e_varr_varchar('1','2','3')) from dual;
--sty.
Maybe you are looking for
-
Interest Calculation base days
Dear All, I have configured interest calculation for line item & balances with the calender type as G. During the execution of FINT, system consideres base days as 366. Our fiscal year is April 2008 - March 2009. Summing up the days it is only 365. P
-
My iMac is starting with a safe boot
Why is my iMac starting up with a safe boot?
-
Powershell to get all the members in about 20 DynamicDistribution group in exchange 2010
I have about 20 DynamicDistribution groups in my exchange 2010 enviroment. I need to run a report to show all the members in each group. How can I accomplish this with powershell ? thanks for all the help
-
How to refresh the panel's display in listener?
I have a Jcombobox and a panel(square,background color:white). I want user to choose the panel's size from the combobox and thus change the panel's display. However, when I choose a value from combobox, the panel's size DOES change, but the display c
-
I cant connect my ipod 5th gen
I cant connect my ipod 5th gen to my laptop running windows 7. When i connect it i charges but the computer does not recognize it. there is no pop up it does not appear on my computer window