If you want a simple wait, you can use uicomponent.callLater(). (See the docs). The other alternative is to listen for an event but which even to listen for depends on your use case. (for example if this is happening when the application is loaded applicationComplete would probably be the correct event.) Check out the events thrown by the components involved to see if one jumps out at you.
- Dan Freiman On Wed, Feb 20, 2008 at 10:53 AM, b_alen <[EMAIL PROTECTED]> wrote: > Wow, that was fast, I didn't even manage to finish the cigarette :) > > And it works. Now, should I use the interval or is there a more > elegant way to know that the component is ready? You were mentioning > "refresh". > > Thanks a ton buddy > > > --- In [email protected] <flexcoders%40yahoogroups.com>, "Daniel > Freiman" <[EMAIL PROTECTED]> wrote: > > > > Try getting the rect later (Put a button somewhere and click it after > > everything is finished loading) to make sure the UITextField doesn't > just > > need to be refreshed first. If that doesn't work, I'd file a bug if > I were > > you. > > > > - Dan Freiman > > > > On Wed, Feb 20, 2008 at 10:20 AM, b_alen <[EMAIL PROTECTED]> wrote: > > > > > It seems a bit ridiculous but it's true. Not just that you have > to use > > > all sorts of hacks to get access to good old TextField (IUITextField) > > > in Flex in order to even think of accessing characters' Rectangles. > > > Once you do manage to cut your way through, you get a very nasty > > > disappointment that IUITextField.getCharBounds() works perfectly in > > > Flex Web apps, but returns some bizarre incorrect values when running > > > on AIR. > > > > > > If anyone has any suggestion, I'd really appreciate it very much. > > > We're in terrible deadline and this is one of the crucial > functionalities. > > > > > > var tf:TextAreaExtended = new TextAreaExtended(); > > > tf._textField.text = "dsfsdf sfd sf dsf sfdsd fdsfdsfdsfdsfdsf fds"; > > > addChild(tf); > > > var rect:Rectangle = tf._textField.getCharBoundaries(20); > > > > > > // I get values for rect.left something like 0.58888888888888888 > > > // same goes for other rect properties, very weird. > > > > > > // extended TextArea which gives access to TextField > > > package > > > { > > > import mx.controls.TextArea; > > > import mx.core.IUITextField; > > > > > > public class TextAreaExtended extends TextArea > > > { > > > public function TextAreaExtended() > > > { > > > createChildren(); > > > > > > } > > > > > > public function get _textField():IUITextField{ > > > return textField; > > > } > > > } > > > } > > > > > > > > > > > > > >

