About repeaters
Hi,
By using repeaters i have dynamically generated some
checkboxes, now on click of each check box i want to capture the
lable of that clicked check box, how can i do that in flex builder
2
thanks in advance
Regards
Rajeev
If inside your Repeater you have:
<mx:CheckBox label="{rep.currentItem.label}
click="handleCheckBox(event)" />
Create the function, handleCheckBox( event:Event ). Then
event.currentTarget will be the CheckBox which was clicked and
event.currentTarget.label will be its label.
Similar Messages
-
I have a Time Capsule that includes 802.11n Wifi. I have an old house with very thick brick and stone walls. Unsurprisingly there are certain locations where I cannot pick up a signal and others where it is very weak. Two questions. I have set up two networks - one for me one for guests. Would it help if I limited myself to one network? I do not know too much about "repeaters" but presumably one in a well chosen location would help. Would I have to use an Airport Extreme 802.11n or is there a cheaper option?
Welcome to the discussions!
+I have set up two networks - one for me one for guests. Would it help if I limited myself to one network?+
The Time Capsule takes away a bit of bandwidth from the "main" network when you enable the "guest" network, but it probably will not make much of difference at all in your situation. If you have a few moments and want to temporarily turn off the "guest" network to test for yourself, here is how:
Open AirPort Utility
Click Manual Setup
Click the Guest Network tab below the icons
Uncheck the box next to Enable Guest Network
Click Update at the lower right and the Time Capsule will restart
Unless you do have "guests", it makes sense to leave that network off. You can enable it again when needed simply by checking the "enable" feature when you need it.
You have a "dual band" Time Capsule that broadcasts simultaneous 2.4 GHz and 5 GHz bands with the same network name. If you want to "extend" both bands, you do need an AirPort Extreme. If you want to extend a single band, an AirPort Express will do the job nicely.
An "extending" device must be positioned where it can receive a good signal from the Time Capsule in order to work correctly. Whether or not this is possible with your home construction and layout is open to question. Ideally, an "extending" device will have line-of-sight or very close to it to work best.
If "extending" by wireless won't do the job in your home, take a look at a pair of ethernet powerline adapters to do the job if it's not possible to run an ethernet cable to the area where you need more wireless coverage. -
Hello, I have a few coverage deadspots that I want to elimate with my WRV200. I see in the configuration that I can use a second WRV200 as a wireless signal repeater. Does this meanthe second box just needs to be within wireless range of the primary box (with the corrcet configuration) and it will simply pass the traffic on, or does it in fact need any wired cable connections?
Thanks
RichWhere exactly do you see in the configuration that you can use a second WRV200 as repeater? I don't know the WRV200 but the manual has only the part with the WDS and there it says in the manual:
WDS allows a wireless signal to be repeated by a repeater. This mode allows a wireless client to connect to the
Router through a repeater, such as WAP54G, WAP54GP, WAP54GPE, when operating in the Repeater Mode. This
mode allows you to extend the coverage of the Router by using up to three repeaters. Select Auto to enable the
remote access point when operating in Repeater Mode or select Manual and enter the MAC address of the
repeater.
This means you can use a WAP as repeater but not a WRV. Generally, as far as I know, all Linksys wireless routers do not work as wireless repeater or wireless bridge with standard Linksys firmware. The routers require a wired connection. Only the access points like the WAPs do repeating and bridging.
You are correct about how a repeater works. You set it up somewhere and it picks up a wireless signal and retransmits it. Remember, however, that it is in the nature of a repeater to severely reduce the possible throughput in a wireless network. For example any traffic send out from the router to the repeater is send back from the repeater to the router. This additional traffic will cause additional transmission collisions on the wireless. Thus, the overall speed in your whole wireless network may go down to as low as half of the speed you are able to establish between the router and the repeater.
Due to this, I always recommend to install a wired connection whenever it is possible. With a wired connection you are also able to use a second WRV200 with standard Linksys firmware (in case you already have one) to extend the wireless coverage with much better speeds. But it requires a special setup on the second WRV, basically connecting the second through a LAN port to the LAN. The normal "dedicated" device for a wireless network extensions, however, would be an access point like the Linksys WAPs... -
Question about aspect ratio...
hey all,
Just got my Apple TV last night and I'm loving it so far.
My question is about aspect ratios and "filling up the screen". When I watched some documentaries and some episodes of "The Office" (from iTunes Store) - the rntire TV's screen was used and looked beautiful.
However, when I watched the latest episode of "LOST" from iTunes, it was having big black areas to the left and right of the 4:3 content in the middle, and I was unable to choose any "stretching" or "panorama" effects using the TV's remote as I do with normal non-HD TV signal usually.
a) Am I doing something wrong? and/or b) are the iTunes TV show sizes and aspect ratios different from different shows?
Any help appreciated...
/// martinHDMI and DVI do have signal length limitations. it is digital, so should result in a perfect reception of any transmitted signals... if it works at all, including error checking / dropped packets. i generally choose component over HDMI / DVI for medium to long runs, just because it is the only real option without using very expensive cabling or active repeaters / transcoders. usually we are running lots of component video sources anyways, so just go with component all the way around. HDMI / DVI is used for local sources, right adjacent to the TV, only if it is very convenient.
Here is my beef with HDMI:
1) the HDMI consortium took a perfectly good format, DVI, and ruined it with DRM controls... it takes from 15 seconds or more for the handshake to arbitrate, leaving users with a black screen as they switch sources.
2) unprofessional connector that easily falls out... up there with the people who designed the S-Video connector - acually worse.
3) incomplete initial specs and now various emerging specifications and lackluster adherence to the specifications by different manufacturers...
4) completely random and unexplicable incompatibilities between different sources, displays, cables, and switchers.
5) the licensing arrangement that the HDMI consortium has for manufacturers to pay money for the right to use.... a revenue generating function that has sort of took over the reason for the consortiums existence versus advancements in consumer electronics technologies.
i think that DVI/HDMI is better, but that has to be qualified. the current output thaty ou see on set top boxes and Apple TV is highly compressed. in the case of the ITMS, most of it is not even "DVD quality" yet, let alone "close to DVD quality". this is a limitation in the content, or ITMS selection of content, more so than the architecture of the store.
asking whether HDMI/DVI is better than component with respect to Apple TV is like asking if it is better to use an Apogee Digital DAC versus a Radio Shack DAC when listening to MP3s at 64kbps. in other words, don't think about it too much.
the 10% of people that are having problems with HDMI can probably eliminate most all problems by switching over to component and don't need to fret over image quality. -
Mixing Security with Repeaters
Hey all,
I'm thinking about buying a repeater(weak singal strength where my 2nd pc is), specifically the Linksys Wireless-G Range Expander WRE54G. I'm pretty savvy with the routers, but not too familar with repeaters, other than what they do.
Right now I have a linksys WRT54GS router set up with WPA2 security. The repeater I want to buy says it only supports WEP. Is that a problem? Will I have to lower my security standards to WEP in order to use the repeater? Or can you mix encryption levels?
My guess is no, but I want to be sure before I purchase the repeater.
Thanks for any info.
Message Edited by nufan on 01-28-2009 08:49 AMWRE54G does support WPA Security...However, you cannot mix encryption levels...
-
WAP200E and WAP200 as repeaters, external antennas, poor signal
I am having some weird things happen...
I have setup a WAP200E external w/o optional antenna and using (2) WAP200 internal units in separate buildings setup as repeaters. I have added a external
Yagi 10Dbi directional antenna to both repeaters with short cables and using the standard antenna for the internal wireless needs.
Both buildings are about 200' line of sight from the WAP200E with a angle of less then 45 degrees from the WAP200E,
I am getting a signal that continually jumps from 20% - 60% Channel keep changing etc... looks like a typically poor signal connection
I am able to access the internet from either repeater, but not reliably
Question 1: External Antenna....
I was going to install a similar external Yagi antenna on WAP200E but I was reading that the external antenna in turned on automatically when the WAP200E
senses a antenna. Cisco only certifies one particular antenna to connect to the WAP200E and that is the HGA9N which is a 9DBI omni directional antenna
I would much rather use a directional antenna, but I was reading that the WAP200E may not reconize any other antenna's, plus I cant find any way to determine if the WAP200E actually turns on the external antenna. Does anyone have any experience using the WAP200E with external antennas?
Question 2:
SSID's on repeaters
On the WAP200E and WAP200 units, It show that that repeaters can have unique SSID's I tested them using the same SSID as the A/P and also with unique SSID's Which approach would be the more reliable?
Question 3:
Freq Channels setting:
Typically I would set the channel to be fixed on all three units to keep them from hopping from channel to channel. Is my logic correct?
Is there any way to determine which channel is the best, beside trial and error?
Also, can I lock the speed to a slower setting to help improve reliability?
Question 4:
Bridging:
I was considering setting up one of the repeaters as a bridge can the WAP200E A/P handle communicating with a bridge and a repeater at the same time?
Does anyone have any experience using these as bridges? I see a few issues online regarding briging with these units
Wireless is tough enough, but flakey wireless product can make you wish had a wire
Firmware... 1.20 on the WAP200E A/P unit.. I guess I will try 1.20a but the blogs say it doesnt matter
Firmware on the WAP200 unit is unknown at the moment
Thanks in advanceUpdate...
After speaking with Linksys support staff, they informed me that the antenna jacks on the WAP200 are slightly different
One jack is TX & RX and the other jack is RX only...
It is not documented or labeled as such on the device.
The support person told me it was the right jack when facing the rear of the unit with the network jack facing you. but this is the way I
had it configured... so for giggles I swapped the antenna jacks and presto it works fine
Many thanks
Bob -
Hi everyone! I am actually in love with this adobe photoshop. I used PSCS2 before, but later on upgraded to CS4. But I feel tired in upgrading to CS5.
One time, I found a tutorial in youtube about camera raw, and would really want to use it. But I was wondering how to install the camera raw. I believe camera raw is a plugin? so I downloaded the plugin here, installed it in my PS. I downloaded a file Camera Raw.8bi and paste it on my C drive - C:\Program Files\Adobe\Photoshop CS4\Plug-ins\File Formats.
I now am very confused, how will I open it? I do not have adobe bridge! After I installed the camera raw, I opened my PS. I clicked the file>then browse in bridge. I had an error, it's "error 2 photoshop11 undefined". Which is what I thought, I might have done something wrong with installing it.
My question is, do you still need adobe bridge installed in order to use camera raw?
If yes, how does it work? How am I suppose to open camera raw?
If no, how am I going to open camera raw without bridge?
And also, where will I download adobe bridge? I cannot find one here for CS4, only adobe bridge for CS5. I am wondering, is it okay to install adobe bridge CS5 and use it with my PS CS4?
I badly need help!WebDAV (Web-based Distributed Authoring and Versioning) is a set of extensions to HTTP/1.1.
The main difference from FTP as far as I can see is that it allows you to edit documents on a remote web server.
WebDAV was used by the Apple server - MobileMe but is not generally supported by hosting services.
Using WebDAV you can mount a directory locally. This was how iDisk worked on your Mac and you could drag files onto it to upload them to the remote directory.
With WebDAV, a number of users can share a directory which is why its used in local networks but presents security problems when using a remote server.
If you are into file sharing rather than publishing, Dropbox or its new rival SugarSync are more appropriate. -
A few days ago i bought the macbook pro in a Providence. In late Summer i will come back to my Country - Ukraine. I would like to know about a tax for my
laptop. Can i return tax? Through the TAX FREE or return in airport? What should i do?You need to talk with the tax authorities in the countries to which you traveled and that of your home country. We are all end-users liek you and not Apple agents.
-
ok i have a advent roma laptop with window 7. my itunes used to work fine, completely. every time i plugged in my ipod it was ok. recently my ipod was not working so i never bothered with itunes, however i have movies/tv prog that i purchased and would like to view them. i have an ipod nano from about 5 years ago, the problem with thet is, it switches on, but the circular control panel does nothing, all you can do is lock and unlock it - nothing else.
i tried to download new version of itunes, then uninstalled my origonal version, incase it was corrupted etc, i then again tried to down load new version and also version that is windows 64bit. still when i select the downlaod to open as son as it is finnished nothing happens. and now my desktop shortcut has dissapeared. before when it was there, id double click it, nothing, right click to open it, nothing.
im not the best technically minded but i just dont see what im doing wrong here, please helpPerhaps it would be helpful for you to view the page source code of this page
http://www.alanwork.com/
As you can see, the submenu code links are immediately below the top level code, and are
wrapped in their own <UL> </UL> tag pairs.
Hope that helps -
Vendor payments and debts about an asset
Dear sap colleages
I need to know these information about an ASSET:
Purchased orders,
Items from purchase orders,
which of these items i've received, i've paid (also date), i've not paid ( amount of debt related to asset)
payments in advanced (date),
wich of these payments have been cleared (clearing date) and wich not,
who is the vendor,
other expenses (such as delivery)
the amount of taxes,
invoices related and NOT RELATED TO purchase order
payments without invoice
Which transactions do i need to follow?
or
Which document flow?
or
Which tables? Wich keys?
or
Is there a standard report that can give me such information?
Any documentation and/or code will be appreciated.
I need to program a report to integrate all these information.
Thanks and Kind RegardsHi,
Refer to T.code AW01N - Asset Explorer .
Additionally you cna also refer to SAP Standard reports in Asset Accounting
Accounting - Financial Accounting - Fixed Assets - Information System - Reports on Asset Accounting
Please let me know if you need more information.
Assign points if useful.
Regards
Sridhar M -
I cannot receive email properly on either my IPad or my IPhone. I have had them for over a year and they have always worked fine. Until three days ago, when they both started acting up. On the IPad, when I open mail, it says it is downloading about 1,700 emails. At the very end, which takes quite a while to get to, I finally get the most recent ones. The IPad is sending emails just fine.
On my IPhone, when I open mail, it says it is downloading 100 emails, but it doesn't do that. And it gives me no new emails at all. The IPhone is sending email just fine.
I have already deleted the email accounts on both devices and reinstalled them. I've contacted the Internet service provider and verified all the right settings. The Outlook email on my desktop is working perfectly.WMV is a heavily-compressed format/CODEC, and the processing time will depend on several factors:
Your CPU, which is not that powerful in your case
Your I/O sub-system, which is likely a single HDD on your laptop
The source footage. What is your source footage?
Any Effects added to that footage. Do you have any Effects?
Each of those will have an impact on the time required.
The trial has only one main limitation - the watermark. Now, there are some components, that have to be activated, but are not with the trial, but they would be evident with Import of your source footage, if it's an issue.
Good luck,
Hunt -
I have had my IPAD2 for quite a while but haven't activated my cellular data for about a year. I am now trying to activate and when I go to cellular data, turn it on and try to tap view account i just get a message that says "connection to server lost". I could swear the last time I used cellular data you would see the signal in the upper left corner and I only see "no service" there, I am in a location where I know I should have service. Is there something I should do to my IPAD? I tried resetting, I tried clearing cookies and history in Safari (after reading a post n these discussions). I don't know what to do next. My IOS version is 6.1.3. I did go into Network from the general tab and I see it says "SIM not provisioned". HELP and Thank you in advance.
Hello Theresa818,
Thank you for using Apple Support Communities!
It sounds like the cellular data will not activate for some reason on the iPad.
I found this article that will help you resolve this issue here, named iPad (Wi-Fi + Cellular Models): Troubleshooting a cellular data connection, found here http://support.apple.com/kb/TS4249
Check for a carrier settings update.
Update your iPad.
Toggle the Cellular Data setting off and on under Settings > Cellular Data.
Restart your iPad.
Tap Settings > General > About. Locate the Carrier entry and make sure that your carrier is correct.
If your SIM card has SIM PIN enabled, try turning it off: Tap Settings > Cellular Data > SIM PIN.
Make sure you're in an area of good coverage. If the cellular data connection works in another area, contact your carrier to report the original affected area.
Reset network settings: Tap Settings > General > Reset > Reset Network Settings.
Restore the iPad as new.
If none of the above steps resolves the issue, make an appointment at an Apple Retail Store, contact your carrier, or contact AppleCare to troubleshoot further.
I know you may have done one or two of the steps here, so you can skip those.
Take care,
Sterling -
Doubt about report FBL5N of screen field:Open items and Cleared items
hi
i know the report FBL5N is use DDF LDB and the report work flow is BSID->BKFP->BSEG
but i don't know to differentiate Open Items and Cleared items in this report.
Open items and Cleared items stand for a field flag in these table (BSID,BKFP,BSEG )? if true the field is?
or they must be calc in program ? if true what about calc rules?
waiting for help! thank you!Hi,
Here is the difference in Open Items and Cleared Items.
In FI first the document is Open (when it is posted) so the entry is made in table BSID. Once the document is cleared, it will move from BSID to BSAD. And for Cleared item you will see Clearing Document no and Clearing date values updated (these are blank when the item is open).
The only difference in Open and Cleared is via Clearing Document and Clearing Date. If the values are present, it means document is cleared.
Hope this helps.
ashish
Message was edited by:
Ashish Gundawar -
Follow up on an old thread about memory utilization
This thread was active a few months ago, unfortunately its taken me until now
for me to have enough spare time to craft a response.
From: SMTP%"[email protected]" 3-SEP-1996 16:52:00.72
To: [email protected]
CC:
Subj: Re: memory utilization
As a general rule, I would agree that memory utilzation problems tend to be
developer-induced. I believe that is generally true for most development
environments. However, this developer was having a little trouble finding
out how NOT to induce them. After scouring the documentation for any
references to object destructors, or clearing memory, or garbage collection,
or freeing objects, or anything else we could think of, all we found was how
to clear the rows from an Array object. We did find some reference to
setting the object to NIL, but no indication that this was necessary for the
memory to be freed.
I believe the documentation, and probably some Tech-Notes, address the issue of
freeing memory.
Automatic memory management frees a memory object when no references to the
memory
object exist. Since references are the reason that a memory object lives,
removing
the references is the only way that memory objects can be freed. This is why the
manuals and Tech-Notes talk about setting references to NIL (I.E. freeing memory
in an automatic system is done by NILing references and not by calling freeing
routines.) This is not an absolute requirement (as you have probably noticed
that
most things are freed even without setting references to NIL) but it accelerates
the freeing of 'dead' objects and reduces the memory utilization because it
tends
to carry around less 'dead' objects.
It is my understanding that in this environment, the development tool
(Forte') claims to handle memory utilization and garbage collection for you.
If that is the case, then it is my opinion that it shoud be nearly
impossible for the developer to create memory-leakage problems without going
outside the tool and allocating the memory directly. If that is not the
case, then we should have destructor methods available to us so that we can
handle them correctly. I know when I am finished with an object, and I
would have no problem calling a "destroy" or "cleanup" method. In fact, I
would prefer that to just wondering if Forte' will take care of it for me.
It is actually quite easy to create memory leaks. Here are some examples:
Have a heap attribute in a service object. Keep inserting things into
the heap and never take them out (I.E. forgot to take them out). Since
service objects are always live, everything in the heap is also live.
Have an exception handler that catches exceptions and doesn't do
anything
with the error manager stack (I.E. it doesn't call task.ErrMgr.Clear).
If the handler is activated repeatedly in the same task, the stack of
exceptions will grow until you run out of memory or the task terminates
(task termination empties the error manager stack.)
It seems to me that this is a weakness in the tool that should be addressed.
Does anyone else have any opinions on this subject?
Actually, the implementation of the advanced features supported by the Forte
product
results in some complications in areas that can be hard to explain. Memory
management
happens to be one of the areas most effected. A precise explanation to a
non-deterministic process is not possible, but the following attempts to
explain the
source of the non-determinism.
o The ability to call from compiled C++ to interpreted TOOL and back
to compiled C++.
This single ability causes most of the strange effects mentioned in
this thread.
For C++ code the location of all variables local to a method is not
know
(I.E. C++ compilers can't tell you at run-time what is a variable
and what
isn't.) We use the pessimistic assumption that anything that looks
like a
reference to a memory object is a reference to a memory object. For
interpreted
TOOL code the interpreter has exact knowledge of what is a reference
and what
isn't. But the TOOL interpreter is itself a C++ method. This means
that any
any memory objects referenced by the interpreter during the
execution of TOOL
code could be stored in local variables in the interpreter. The TOOL
interpreter
runs until the TOOL code returns or the TOOL code calls into C++.
This means
that many levels of nested TOOL code can be the source of values
assigned to
local variables in the TOOL interpreter.
This is the complicated reason that answers the question: Why doesn't a
variable that is created and only used in a TOOL method that has
returned
get freed? It is likely that the variable is referenced by local
variables
in the TOOL interpreter method. This is also why setting the
variable to NIL
before returning doesn't seem to help. If the variable in question is a
Array than invoke Clear() on the Array seems to help, because even
though the
Array is still live the objects referenced by the Array have less
references.
The other common occurrence of this effect is in a TextData that
contains a
large string. In this case, invoking SetAllocatedSize(0) can be used
to NIL
the reference to the memory object that actually holds the sequence of
characters. Compositions of Arrays and TextData's (I.E. a Array of
TextData's
that all have large TextDatas.) can lead to even more problems.
When the TOOL code is turned into a compiled partition this effect
is not
noticed because the TOOL interpreter doesn't come into play and
things execute
the way most people expect. This is one area that we try to improve
upon, but it is complicated by the 15 different platforms, and thus
C++ compilers,
that we support. Changes that work on some machines behave
differently on other
machines. At this point in time, it occasionally still requires that
a TOOL
programmer actively address problems. Obviously we try to reduce
this need over
time.
o Automatic memory management for C++ with support for multi-processor
threads.
Supporting automatic memory management for C++ is something that is
not a very
common feature. It requires a coding standard that defines what is
acceptable and
what isn't. Additionally, supporting multi-processor threads adds
its own set of
complications. Luckily TOOL users are insulated from this because
the TOOL to C++
code generator knows the coding standard. In the end you are
impacted by the C++
compiler and possibly the differences that occur between different
compilers and/or
different processors (I.E. Intel X86 versus Alpha.) We have seen
applications that
had memory utilization differences of up to 2:1.
There are two primary sources of differences.
The first source is how compilers deal with dead assignments. The
typical TOOL
fragment that is being memory manager friendly might perform the
following:
temp : SomeObject = new;
... // Use someObject
temp = NIL;
return;
When this is translated to C++ it looks very similar in that temp
will be assigned the
value NULL. Most compilers are smart enough to notice that 'temp' is
never used again
because the method is going to return immediately. So they skip
setting 'temp' to NULL.
In this case it should be harmless that the statement was ignored
(see next example for a different variation.) In more
complicated examples that involve loops (especially long
lived event loops) a missed NIL assignment can lead to leaking the
memory object whose
reference didn't get set to NIL (incidentally this is the type of
problem that causes
the TOOL interpreter to leak references.)
The second source is a complicated interaction caused by history of
method invocations.
Consider the following:
Method A() invokes method B() which invokes method C().
Method C() allocates a temporary TextData, invokes
SetAllocatedSize(1000000)
does some more work and then returns.
Method B() returns.
Method A() now invokes method D().
Method D() allocates something that cause the memory manager to look
for memory objects to free.
Now, even though we have returned out of method C() we have starting
invoking
methods. This causes us to use re-use portions of the C++ stack used to
maintain the history of method invocation and space for local variables.
There is some probability that the reference to the 'temporary' TextData
will now be visible to the memory manager because it was not overwritten
by the invocation of D() or anything invoked by method D().
This example answers questions of the form: Why does setting a local
variable to
NIL and returning and then invoking task.Part.Os.RecoverMemory not
cause the
object referenced by the local variable to be freed?
In most cases these effects cause memory utilization to be slightly
higher
than expected (in well behaved cases it's less than 5%.) This is a small
price to pay for the advantages of automatic memory management.
An object-oriented programming style supported by automatic memory
management makes it
easy to extended existing objects or sets of objects by composition.
For example:
Method A() calls method B() to get the next record from the
database. Method B()
is used because we always get records, objects, of a certain
type from
method B() so that we can reuse code.
Method A() enters each row into a hash table so that it can
implement a cache
of the last N records seen.
Method A() returns the record to its caller.
With manual memory management there would have to be some interface
that allows
Method A() and/or the caller of A() to free the record. This
requires
that the programmer have a lot more knowledge about the
various projects
and classes that make up the application. If freeing doesn'
happen you
have a memory leak, if you free something while its still
being used the
results are unpredictable and most often fatal.
With automatic memory management, method A() can 'free' its
reference by removing
the reference from the hash table. The caller can 'free' its
reference by
either setting the reference to NIL or getting another
record and referring
to the new record instead of the old record.
Unfortunately, this convenience and power doesn't come for free. Consider
the following,
which comes from the Forte' run-time system:
A Window-class object is a very complex beast. It is composed of two
primary parts:
the UserWindow object which contains the variables declared by the
user, and the
Window object which contains the object representation of the window
created in
the window workshop. The UserWindow and the Window reference each
other. The Window
references the Menu and each Widget placed on the Window directly. A
compound Window
object, like a Panel, can also have objects place in itself. These
are typically
called the children. Each of the children also has to know the
identity of it's
Mom so they refer to there parent object. It should be reasonably
obvious that
starting from any object that make up the window any other object
can be found.
This means that if the memory manager finds a reference to any
object in the Window
it can also find all other objects in the window. Now if a reference
to any object
in the Window can be found on the program stack, all objects in the
window can
also be found. Since there are so many objects and the work involved
in displaying
a window can be very complicated (I.E. the automatic geometry
management that
layouts the window when it is first opened or resized.) there are
potentially many
different reference that would cause the same problem. This leads to
a higher than
normal probability that a reference exists that can cause the whole
set of Window
objects to not be freed.
We solved this problem in the following fashion:
Added a new Method called RecycleMemory() on UserWindow.
Documented that when a window is not going to be used again
that it is
preferably that RecycleMemory() is invoked instead
of Close().
The RecycleMemory() method basically sets all references
from parent to
child to NIL and sets all references from child to
parent to NIL.
Thus all objects are isolated from other objects
that make up
the window.
Changed a few methods on UserWindow, like Open(), to check
if the caller
is trying to open a recycled window and throw an
exception.
This was feasible because the code to traverse the parent/child
relationship
ready existed and was being used at close time to perform other
bookkeeping
operations on each of the Widgets.
To summarize:
Automatic memory management is less error prone and more productive but
doesn't come totally for free.
There are things that the programmer can do that assists the memory
manager:
o Set object reference to NIL when known to be correct (this
is the
way the memory is deallocated in an automatic system.)
o Use methods like Clear() on Array and SetAllocatedSize()
on TextData to
that allow these objects to set their internal
references to NIL
when known to be correct.
o Use the RecycleMemory() method on windows, especially very
complicated
windows.
o Build similar type of methods into your own objects when
needed.
o If you build highly connected structures that are very
large in the
number of object involved think that how it might be
broken
apart gracefully (it defeats some of the purpose of
automatic
management to go to great lengths to deal with the
problem.)
o Since program stacks are the source of the 'noise'
references, try
and do things with less tasks (this was one of the
reasons that
we implemented event handlers so that a single task
can control
many different windows.)
Even after doing all this its easy to still have a problem.
Internally we have
access to special tools that can help point at the problem so that
it can be
solved. We are attempting to give users UNSUPPORTED access to these
tools for
Release 3. This should allow users to more easily diagnose problems.
It also
tends to enlighten one about how things are structured and/or point out
inconsistencies that are the source of known/unknown bugs.
Derek
Derek Frankforth [email protected]
Forte Software Inc. [email protected]
1800 Harrison St. +510.869.3407
Oakland CA, 94612I beleive he means to reformat it like a floppy disk.
Go into My Computer, Locate the drive letter associated with your iPod(normally says iPod in it, and shows under removable storage).
Right click on it and choose format - make sure to not have the "quick format" option checked. Then let it format.
If that doesnt work, There are steps somewhere in the 5th gen forum( dont have the link off hand) to try to use the usbstor.sys to update the USB drivers for the Nano/5th gen. -
This is what I think may have happened. The other day, Thursday Sept 8th, I shut down my pc in the middle of a Firefox upgrade. Now when I try to access Firefox on my pc, I get this error message:
XULRUNNER Error: Platform version '6.0.2 is not compatible with min Version >= 6.0.1 max Version < 6.0.1
What is this about and how can I retsore access to Firefox on my pc?If you use ZoneAlarm Extreme Security then try to disable Virtualization.
Do a clean reinstall and delete the Firefox program folder.
* http://kb.mozillazine.org/Browser_will_not_start_up#XULRunner_error_after_an_update
*[[/questions/869812]]
*[[/questions/869951]]
Maybe you are looking for
-
Optical drives slowly being destroyed/destroying themselves
Well unfortunately I have only had my computer back for a day from getting repaired (again) and this 1 week and 2 days-old optical drive is doing the same thing the old one did before I had it replaced. My old one was okay in the beginning, but then
-
How do I place my counts at the bottom of the report on the last page
I produce a count using a summary column. I want that along with the text label to print on the last page at the bottom. How do I do this. Howard
-
How to add Package to a Delivery Note?
Hello, I want to add package information via DI API, but I don't know how start. Thanks David Muñoz
-
Select Directory 'Not Responding' - bug report
Hi, I was editing a step and realized that I needed to add another search directory. After choosing 'Select Directory' and then 'Add...' TestStand appears to lock up. Actually it has not really locked up, but as Filemon shows, is iterating through ev
-
Time machine does not recognise itself after restore
I had to restore my data from time machine by doing a full migration of all data from my back up drive. Now that I have recovered my existing system (which did involve a full wipe of HD, internet recovery and an update again from ML to mavericks). My