How to make a component wait for an event?
Hey there Adobe community, I recently started using Flash Builder and I have a problem. I have a windowed application in Flash Builder with some script code and then a base64 image.
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:flexlib="http://code.google.com/p/flexlib/" preinitialize="loadImage()">
<fx:Script><![CDATA[
import flash.display.BitmapData;
import flash.utils.ByteArray;
import mx.controls.Image;
import mx.core.UIComponent;
import mx.graphics.codec.JPEGEncoder;
import mx.utils.Base64Encoder;
private var image:Bitmap;
private var base64image:String="";
private function loadImage():void
var loader:Loader = new Loader;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);
loader.load(new URLRequest("mypic.jpg"));
trace("started loading");
private function getimg():String
trace("flexlib accessing image ", base64image);
return base64image;
private function imageLoaded(event:Event):void
image = new Bitmap(event.target.content.bitmapData);
base64image = getBase64FromComponent(image);
trace("image converted");
]]></fx:Script>
<flexlib:Base64Image value="{getimg()}"/>
</s:WindowedApplication>
The flexlib tag should render an image from a string. I want to load an image in the actionscript code, convert it to a string and then draw it. However, as soon as the application starts it attempts to render the string, which is still empty.
The trace is like this, for some reason the getimg() is called twice:
flexlib accessing image
started loading
flexlib accessing image
image converted
As you can see, the image isn't converted until after flexlib tries to draw it. The solution would be to make the flexlib component wait for the imageLoaded event, or make the specific tag re-initialize itself. How can I do this?
Great, thanks. Now I can narrow my problem scope down.
This is now the isolated culprit of my program:
"Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space"
I already ran garbage collector just before 2nd method but the same error still occures.
But if I were to comment out method 2, run the program (to generate the file from method 1), then do the opposite and run again, it will work. ie. I have to run the main program twice.
I don't understand this. The free memory after running GC after method 1 has reset the free mem to approx 1654kb so why can't method 2 run properly?
Even if I just run method 2 alone, the free mem it starts with is 1639kb.
Here are the memory values during the execution.
//all memory values in kb
Max memory = 65088
Allocated memory = 1984
total free memory: 64743
free memory before method 1: 1639
// Run method 1
free memory after method 1: 875
free memory after running garbage collector: 1654
//Run method 2
free memory after the main computation in method 2: 4807
free memory AFTER running garbage collector: 6733
Any solutions?
Similar Messages
-
How to make Flash to wait for user input
Hi,
I found this PHP script, then I made some changes to make it
FEED the Flash user interface with online user input.
The main concept of this script is WAITING for user input, so
it shows the messages and then go to next line and so on.
The user input go to directly to TEXT file which writes in
lines, each line has a unique id = (mag_id).
There "get_msge.php" which works as the middleware between
FLASH and messages text file.
The problem, its doesn’t show any data while there are
data in the text file.
Help here please, best regards.
This is the link of
problem illustartion
AS is:
// create an object to store the variables
varReceiver = new LoadVars();
// load the variables from the text file
varReceiver.load("get_msg.php?file_id=1&msg_id=1",
"POST");
// trigger something - when the variables finish loading
varReceiver.onLoad = function(){
//the variables have finished loading
if (this.msg_id == 1) {
_root.xmsg1_swf.text = this.msg;
_root.xmsg1_ch.text = this.msg;
gotoAndPlay("line2");
} else {WAIT }
PHP is:
<?php
//get these values from the FLASH
$file_id_swf = $_POST ['file_id'];
$file_name = "messages/messages".$file_id_swf.".txt";
$msg_id_swf = $_POST ['msg_id'];
// [0] ."||".[1] ."||".[2] ."||". [3] ."||".[4]."||". [5].
//$msg_id."||".date."||".time."||".$from."||".$to."||".$msg.
$fp = fopen ($file_name, 'rb');
while (!feof ($fp))
$msg_txt = fgets ($fp, 1024);
$line = explode ("||", $msg_txt);
$msg_id = $line[0];
$from = $line[3];
$to = $line[4];
$msg = utf8_encode ($line[5]);
if ($msg_id == $msg_id_swf)
echo
"msg_id=".$msg_id."&from=".$from."&to=".$to."&msg=".$msg;
}//while
fclose ($fp);
?>Well, given the things that you've written, I don't think it
could. There technically isn't any code in flash that lets it
"wait." In order to "wait," you must run the script over again
until some condition is met.
However, your code does look accurate. Why do you need to
wait? The onLoad function will be invoked WHEN something is loaded.
So, I don't see the reason for the "waiting."
In addition to that, I would like to say that using text
files isn't that great with flash. I have done this before and
noticed several problems with using text files. The biggest problem
is that the text files are cached after being loaded. Every time
you re-load it again, you will get what you got the first time
until you reset your cache (ie. close your browser). I suggest
using MySQL. (Just my thought.) -
How to make Launchd/LaunchAgents wait for volume mount?
I've been trying off and on for months to resolve a problem I have starting up named on my OS X 10.5 Mac Mini, which acts as a home server. Actually, I've been trying since 10.4 came out.
All my configuration files are located on a volume located on an external pair of RAIDed drives. At system startup the volume mounts automatically, and I have soft links pointed to the remote directories, in this case /usr/local/etc/. The problem is that system startup doesn't wait for this volume to come online before starting to run items in LaunchAgents. Therefore, using the StartAtLoad option, I'll see messages in the system log from bind saying that it tried to start, but the config file /usr/local/etc/named/named.conf wasn't available, so it died.
I've experimented with WatchPaths - that doesn't seem to work reliably because by the time it gets going, the path is available; since it doesn't actually check availability, but only status change, it doesn't work. (If I log in and touch the file afterwards, named starts right up.)
I can figure out some hack to run a script and check the status regularly and launch/re-launch, but I'd rather figure out how to do this the "right" way with launchd. Current (still broken) script is below. Thanks for suggestions!
KeS
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.bind</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/named</string>
<string>-f</string>
<string>-c</string>
<string>/usr/local/etc/named/named.conf</string>
</array>
<key>WatchPaths</key>
<array>
<string>/usr/local/etc/named/named.conf</string>
</array>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>domain</string>
</dict>
</dict>
</dict>
</plist>Umm, ok. Are you suggesting that there's more likelihood of getting an answer there, or that it's in the wrong place here? I hate to bother developers with a user question. I'm not asking for new features.
Tx.
KeS -
Component listening for a event
I need to make 1 component listen for an event in another component..
JMenuItem listens for a TreeSelectionEvent and in case something selected enables... and disables otherwise...
addTreeSelectionListener() is not possible for a JMenuItem component...
so how do i do that?
the code below is not acceptable because there is a lot of JMenuItem objects and it's a bit messy and difficult to add each...
tree.addTreeSelectionListener(blah) {
JMenuItem.setEnabled(false);
i want a component checking himself for a proper condition...
in case it will require too much hardware resourses what would you suggest?Do you ever get to a point in programming where you think that perhaps i have choosen the wrong hobby to get infatuated about
That code worked really well targetplanet but it had a side effect that just makes me nutts lol
as it triggered a mouse event function in the component that was initialized in Main and just made my web site go nuts . the component that we initialized was a skin but its itemRenderer component that followed had the mouse event! perhaps i better start again with me learning perhaps i missed something
or perhaps i should just have one component to one job instead of trying to be clever and mutitask with less components! -
How to make a good referencing for my web site
hi. i start with muse and would like to know how to make a good referencing for my web site; thanks for your answers...
Google and search the forum for: SEO or Search Engine Optimisation
-
How to make saved IR available for all users
Hi,
I've created IR and saved it to several tabs based on search conditions.
But they're only visible for developers.
How to make these tabs available for all end-users ?
Does version 4.0 support this option ?
Thank you!Hi
At present this feature is not included, although I believe it may be in 4.0. Many people have provided workarounds for this. None of which I have tried. I cannot find the original thread but here is a solution from a chap called Ruud
>
One way to share your saved reports with others is to 'Publish' your report settings to a few intermediate tables in your application and have other users 'Import' your settings from there. The reason for using intermediate tables is so that not all your saved reports need to be 'visible' to other users (only those that you've chosen to publish).
Basically you have available the following views and package calls that any APEX user can access:-
- flows_030100.apex_application_pages (all application pages)
- flows_030100.apex_application_page_ir_rpt (all saved reports - inclusing defaults and all user saved reports)
- flows_030100.apex_application_page_ir_cond (the associated conditions/filters for above saved reports)
- wwv_flow_api.create_worksheet_rpt (package procedure that creates a new saved report)
- wwv_flow_api.create_worksheet_condition (package procedure that creates a condition/filter for above saved report)
The way I've done it is that I've created 2 tables in my application schema that are straightforward clones of the 2 above views.
CREATE TABLE user_report_settings AS SELECT * FROM flows_030100.apex_application_page_ir_rpt;
CREATE TABLE user_report_conditions AS SELECT * FROM flows_030100.apex_application_page_ir_cond;
( NB. I deleted any contents that may have come across to make sure we start with a clean slate. )
These two tables will act as my 'repository'.
To simplify matters I've also created 2 views that look at the same APEX views.
CREATE OR REPLACE VIEW v_report_settings AS
SELECT r.*
p.page_name
FROM flows_030100.apex_application_page_ir_rpt r,
flows_030100.apex_application_pages p
WHERE UPPER ( r.application_name ) = <Your App Name>
AND r.application_user 'APXWS_DEFAULT'
AND r.session_id IS NULL
AND p.application_id = r.application_id
AND p.page_id = r.page_id;
CREATE OR REPLACE VIEW v_report_conditions AS
SELECT r.*
p.page_name
FROM flows_030100.apex_application_page_ir_cond r,
flows_030100.apex_application_pages p
WHERE UPPER ( r.application_name ) = <Your App Name>
AND r.application_user 'APXWS_DEFAULT'
AND p.application_id = r.application_id
AND p.page_id = r.page_id;
I then built 2 screens:-
1) Publish Report Settings
This shows 2 report regions:-
- Region 1 - Shows a list of all your saved reports from V_REPORT_SETTINGS (filtered to only show yours)
SELECT apex_item.checkbox ( 1, report_id ) " ",
page_name,
report_name
FROM v_report_settings
WHERE application_user = :APP_USER
AND ( page_id = :P27_REPORT OR :P27_REPORT = 0 )
ORDER BY page_name,
report_name
Each row has a checkbox to select the required settings to publish.
The region has a button called PUBLISH (with associated process) that when pressed will copy the settings from
V_REPORT_SETTINGS (and V_REPORT_CONDITIONS) into USER_REPORT_SETTINGS (and USER_REPORT_CONDITIONS).
- Region 2 - Shows a list of already published reports in table USER_REPORT_SETTINGS (again filtered for your user)
SELECT apex_item.checkbox ( 10, s.report_id ) " ",
m.label,
s.report_name
FROM user_report_settings s,
menu m
WHERE m.page_no = s.page_id
AND s.application_user = :APP_USER
AND ( s.page_id = :P27_REPORT OR :P27_REPORT = 0 )
ORDER BY m.label,
s.report_name
Each row has a checkbox to select a setting that you would like to delete from the repository.
The region has a button called DELETE (with associated process) that when pressed will remove the selected
rows from USER_REPORT_SETTINGS (and USER_REPORT_CONDITIONS).
NB: P27_REPORT is a "Select List With Submit" to filter the required report page first.
Table MENU is my application menu table where I store my menu/pages info.
2) Import Report Settings
This again shows 2 report regions:-
- Region 1 - Shows a list of all published reports in table USER_REPORT_SETTINGS (filtered to show only other users saved reports)
SELECT apex_item.checkbox ( 1, s.report_id ) " ",
m.label,
s.report_name,
s.application_user
FROM user_report_settings s,
menu m
WHERE m.page_no = s.page_id
AND s.application_user :APP_USER
AND ( s.page_id = :P28_REPORT OR :P28_REPORT = 0 )
ORDER BY m.label,
s.report_name,
s.application_user
Each row has a checkbox to select the setting(s) that you would like to import from the repository.
The region has one button called IMPORT that when pressed will import the selected settings.
It does this by using the 2 above mentioned package procedure to create a new saved report for you
with the information form the repository. Be careful to match the right column with the right procedure
parameter and to 'reverse' any DECODEs that the view has.
- Region 2 - Shows a list of all your saved reports from V_REPORT_SETTINGS (filtered to only show yours)
SELECT page_name,
report_name
FROM v_report_settings
WHERE application_user = :APP_USER
AND ( page_id = :P28_REPORT OR :P28_REPORT = 0 )
ORDER BY page_name,
report_name
This is only needed to give you some feedback as to whether the import succeeded.
A few proviso's:-
a) I'm sure there's a better way to do all this but this works for me :-)
b) This does not work for Computations! I have not found an API call to create computations.
They will simply not come across into the repository.
c) If you import the same settings twice I've made it so that the name is suffixed with (2), (3) etc.
I did not find a way to update existing report settings. You can only create new ones.
d) Make sure you refer to your saved reports by name, not ID, when matching APEX stored reports and the
reports in your repository as the ID numbers may change if you re-import an application or if you
auto-generate your screens/reports (as I do).
Ruud
>
To me this is a bit too much of a hack and I personally wouldn't implement it - it's just an example to show it can be done.
Also if you look here in the help in APEX Home > Adding Application Components > Creating Reports > Editing Interactive Reports
...and go to the last paragraph, you can embed predicates in the URL.
Cheers
Ben
http://www.munkyben.wordpress.com
Don't forget to mark replies helpful or correct ;)
Edited by: Munky on Jul 30, 2009 8:03 AM -
How to make warehouse field inactive for all users in all documents autom.
Hi All,
Can anyone pls tell me "**how to make warehouse field inactive for all users in all documents without having to do it through form setting** "for each and every user. It should be visible but inactive
Thanks & Regards,
Mukesh AgrawalHi,
As a work around create a warehouse SelectWH and map the mandatory acoounts as a On hold account(in chart of accounts).So there will not be any posting on this account.
And set this warehouse as default warehouse for all users.
So without selecting the appropriate warehouse the user can not add the document.
I think this might resolve you issue. -
How do I make a photo folder for different event on ipad2?
How do I make a photo folder for different event on ipad2?
These links may be helpful.
How To Create Photo Albums http://tinyurl.com/cxm4eoq
How to Add New Albums in the Photos App on the iPad & Add Photos to the Album
http://tinyurl.com/7qep7fs
Cheers, Tom -
How to make jar files availabe for deployed EJBs
Hi,
I'm interested on how to make jar files availabe for deployed EJBs.
My EJB is packed in an ear. It uses a util jar. I now just add the jar to the
classpath, but I think that shouldn't be the way. Is there somthing in the admin
console to make jars available or do I have to insert it in the ear file? And
if so, where do I hve to place it?
Thanks
ClaudiaPut the util.jar in the ear with your ejb jars - at the same level (i.e. in
the root) - but do not include them in the manifest.xml.
Also each ejb jar that refers to util.jar must have util.jar on its internal
classpath in the manifest.
"Claudia" <[email protected]> wrote in message
news:3d537db5$[email protected]..
>
Hi,
I'm interested on how to make jar files availabe for deployed EJBs.
My EJB is packed in an ear. It uses a util jar. I now just add the jar tothe
classpath, but I think that shouldn't be the way. Is there somthing in theadmin
console to make jars available or do I have to insert it in the ear file?And
if so, where do I hve to place it?
Thanks
Claudia -
How to make a group contacts for iphone 4s, How to make a group contacts for iphone 4s
How to make a group contacts for iphone 4s
Or there are apps
https://www.google.co.uk/url?sa=t&source=web&cd=3&ved=0CEEQFjAC&url=https%3A%2F% 2Fitunes.apple.com%2Fgb%2Fapp%2Ftext-2-group-fast-sms-imessage%2Fid519077434%3Fm t%3D8&ei=WCkfUc6vE8THtQavlYCoBw&usg=AFQjCNHnoWUqJ9AMYWCadVceOkq-6Ed4Vg -
How to make the logs captured for Z fields in ME21N/ ME22N
Hi
I have devloped new tab(Screen) and added Z field in the PO header (ME21N) as per my requirement. But whenever I do changes to the perticular Z field, logs are not captured (ME21N->ENVIRONMENT-->HEADERLOG). How to make the logs captured for Z fields like standard fields. Is there any way?
Regards
Raj.HI Ranjitha
For the data element of Z fields go to further caracteristics of tab and make change document checkbox ticked. -
How to make a portlet unvisible for another(not Owners) Users?
Hi all,
I (Site-Owner) have create a little Portal-Site with any portlets.
I want to make one or two portlets(Admin-Area) unvisible for other users. But when I create a portlet as Site-Owner, then all another users can they see.
How to make a portlet unvisible for another users?
Regards
Leonid PavlovYou can hide and show portlets of Web providers (OmniPortlet, Web Clipping, and Java portlets) on portal pages dynamically. This functionality is controlled by security managers. The PDK provides a number of security managers. For example:
o Group security manager: The group security manager makes the portlet appear to users who are members of a specified group, while hides the portlet for those who are not members.
o Authentication level security manager: You can use the authentication level security manager to control access to the portlets based on the users authentication level. For example you may hide the portlet from public users, but display it to authenticated users.
In addition to the security managers provided by the PDK, you can build your own security managers.
Although OmniPortlet and Web Clipping do not expose security managers through the user interface, you can apply them by editing their XML provider definition file.
For PL/SQL portlets you can use the is_runnable method to control whether the portlet is hidden or shown.
Peter -
How to make a loop run for specific period of time ?
hello !
i'm new to labview and could'nt found how to make a loop run for 2 sec for example, and then to exit.
Solved!
Go to Solution.Hi Hookso,
You can do it using the different loops like While loop and For Loop. Roderic has already stated how to do it using a for loop. I have illustrated in the attached vi how to do it using a while loop and Elapsed Time function. Take a look.
Regards,
Nitzz
(Give kudos to good Answers and Mark it as a Solution if your problem is Solved)
Attachments:
Untitled 2.vi 36 KB -
How to make custem sized book for example 12inch x 8 inc, 18 inch x12 inch
how to make custem sized book for example 12inch x 8 inch, 18 inch x12 inch
I'm afraid there is no way to do this currently available.
-
i have snow leopard, 10.6.8 on my mac pro. would it make sense to wait for mountain lion in the summer vice upgrading to Lion then mountaion lion?
Nobody can tell you that. We don't yet know what the pricing will be or what kind of compatibility issues may arise. If you don't need anything in Lion right now, you can certainly wait, and if you do find the features of Lion compelling, there's no reason to wait for 6 months. Buy what you need when you need it, and don't worry so much about what's ahead... there's always something new coming soon!
Maybe you are looking for
-
Self repair apple cinema display 65W power adaptor?
After a power outage, I have discovered that the 65W power adaptor (A1096 661-3760) driving a 20" apple cinema display is no longer working. A different brick from another display works fine. I was wondering whether I might be able to service this
-
Error in XML for 11.1.1.5 Metadata Dictionary (by name)
Is this a known issue: Generating the Metadata Dictionary from the repository. The files are created. The Tree Index works fine. The Name Index does not. Getting this error when displaying the Name Index in the browser: End tag 'AllObjects' does not
-
How to solve this &(amberstand of lessthanand &(amberstand of greaterthan
hi, i have below block, DECLARE doc dbms_xmldom.DOMDocument; node dbms_xmldom.DOMNode; elem dbms_xmldom.DOMElement; cur_node dbms_xmldom.DOMNode; root_elem_data dbms_xmldom.DOMElement; root_elem_tab dbms_xmldom.DOMElement; root_node_data dbms_xmldom.
-
...trouble with pages and downloads..
...really slow downloads. up until now SAFARI has been great, but for the last few days things have been freezing up or taking unusually long to open a page or download. Any ideas? thanks.
-
Which 320GB drive for upgrade?
Hi I'm looking to upgrade my 2 year old MBP with a 320GB drive. Which one do you guys recommend from the following? 320 GB Toshiba MK3252GSX Notebook, 2.5", SATA 300, 5400 rpm, 8MB Cache, 12 ms 320 GB Fujitsu MHZ2320BH Notebook, 2.5", SATA 300, 5400