Sorry I couldn't answer before but for some strange reason Flex
stopped compiling and started crashing. I reinstalled it but it's
still the same. When I run a debug, it totally crashes and I have to
manually shut down the machine.

Will definitely revert once I solve this.



--- In [email protected], "Gordon Smith" <[EMAIL PROTECTED]> wrote:
>
> 1. I'll forward your complaints to the QA manager and the relevant QA
> engineer who marked SDK-10800 as UTR.
>  
> 2. No, I wasn't saying that you have to add any children into the
> TextArea. I was trying to explain that you have to add the TextArea to
> the display list before the TextArea will create its TextField. Simply
> new-ing a component doesn't create its descendants. Yes, this is
> unintuitive, but a UIComponent delays the creation of any descendants
> until their inherited styles can be determined. In general, the
> framework often has good reasons for the way it does things, but these
> reasons sometimes aren't obvious or properly explained.
>  
> 3a. I don't understand what isn't clear and straightforward about the
> ASDoc for TextArea listing 'textField' as a protected property.
>  
> 3b. Yes, it's documented what mx_internal represents, and that
> mx_internal APIs are undocumented and unsupported. What exactly is your
> complaint about this?
>  
> 3c. As with any software project, we could undoubtedly have done a
> better job if we had taken more time. But there are many Flex developers
> developing compelling Flex applications despite our shortcomings, and
> most probably wouldn't want longer release cycles.
>  
> 4. Generally, the updateComplete event tells you that a UIComponent has
> finished reacting to changes in its properties.
>  
> I'm unclear on why you said "who could resist?" about using the betas of
> Flex 3. It sounds like you've had nothing but frustration with Flex, and
> I apologize for that.
>  
> Gordon Smith
> Adobe Flex SDK Team
>  
> ________________________________
> 
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of b_alen
> Sent: Thursday, February 21, 2008 2:26 AM
> To: [email protected]
> Subject: [flexcoders] Re: getCharBounds not working on AIR?
> 
> 
> 
> 1. It seems a little bit odd, having to help you identify such obvious
> bugs, who knows what else we can expect then. I have an issue with
> your bug report system, where people are just marking everything as
> "Cannot Reproduce". See this page:
> http://bugs.adobe.com/jira/secure/IssueNavigator.jspa?reset=true&customf
> ield_10100=Beta%20App
> <http://bugs.adobe.com/jira/secure/IssueNavigator.jspa?reset=true&custom
> field_10100=Beta%20App> 
> 
> And if you take a look at issue SDK-10800, you'll find the boundaries
> bug there. I don't know if it applies to AIR but I'm pretty sure
> nobody took a good look into any bugs on that page. 
> 
> 2. I'm sorry I don't understand. All I wanted is to extend TextArea in
> order to get access to TextField. I don't want to add any children, I
> just want a subclass of TextArea. You're saying it's not possible to
> subclass a component without adding something to it? Isn't that a bit
> bizarre? I'm posting the class at the bottom.
> 
> 3a. OK, there obviously is access to the TextField since I am using it
> and writing about it in the current thread. What I meant was there is
> no clear, straightforward and documented way of accessing it. You have
> to hack your way through by relying on information found on blogs and
> forums. I mean it's just a TextField for god's sake :)
> 
> 3b. So it's documented that it's undocumented. Perfect documentation,
> lol.
> 
> 3c. I appreciate and support this kind of product development where
> user community is involved. But I seriously think that you haven't
> done exactly a great job designing it internally, maybe relying to
> much on the community. It's also our fault we started using it while
> in beta, but hey, who could resist :) The only sad thing is that in
> the real world you have to deliver to get paid. 
> 
> 4. Back to the callLater. I don't think it's such a bad idea. In the
> docs and on the blogs it says that it gets called "once all the
> properties are set". So I figure, it's the same as capturing the
> nonexistent ALL_PROPERTIES_SET event.
> 
> package
> {
> import mx.controls.TextArea;
> import mx.core.IUITextField;
> 
> public class TextAreaExtended extends TextArea
> {
> public function TextAreaExtended()
> {
> createChildren(); // doesn't work without this
> 
> }
> 
> public function get _textField():IUITextField{
> return textField;
> }
> }
> }
> 
> then I'm just using it like this and it works:
> 
> var actualyUsefulTextArea:TextAreaExtended = new TextAreaExtended();
> 
> actualyUsefulTextArea._textField.text = "whatever";
> 
> callLater(getCharBounds);
> 
> function getCharBounds(){
> var rect:Rectangle =
> actualyUsefulTextArea._textField.getCharBoundaries(4);
> 
> }
> 
> --- In [email protected] <mailto:flexcoders%40yahoogroups.com>
> , "Gordon Smith" <gosmith@> wrote:
> >
> > 1. I don't think AIR and Flash Player should have different timing. If
> > the Flash Player knows the correct bounds immediately after setting
> the
> > text, AIR should too. Please file a bug.
> > 
> > 2. You get a null object exception because you're expecting children
> to
> > exist after newing a component, and that's not the way any of our
> > framework components work. You have to first do the addChild().
> > 
> > 3a. The textField of a TextArea is a protected var accessible by any
> > subclass, and there is a public getTextField() method in the
> mx_internal
> > namespace, so it's not accurate to say "no access to TextField".
> > 
> > 3b. The mx_internal namespace has the documentation 
> > 
> > /**
> > * This namespace is used for undocumented APIs -- usually
> > implementation
> > * details -- which can't be private because they need to visible
> > * to other classes.
> > * APIs in this namespace are completely unsupported and are likely to
> > * change in future versions of Flex.
> > */
> > 
> > We don't want to advertise it heavily because that would defeat the
> > entire purpose of it.
> > 
> > 3c. I'm sorry that your experience with Flex 3 makes you feel that
> it's
> > half-baked. We have a public bugbase so that you can let us know what
> > we're doing wrong in a way that gets tracked. Complaints on flexcoders
> > don't always get tracked.
> > 
> > Gordon Smith
> > Adobe Flex SDK Team
> > 
> > ________________________________
> > 
> > From: [email protected] <mailto:flexcoders%40yahoogroups.com>
> [mailto:[email protected] <mailto:flexcoders%40yahoogroups.com>
> ] On
> > Behalf Of b_alen
> > Sent: Wednesday, February 20, 2008 9:51 PM
> > To: [email protected] <mailto:flexcoders%40yahoogroups.com> 
> > Subject: [flexcoders] Re: getCharBounds not working on AIR?
> > 
> > 
> > 
> > 
> > > 1. If the same code produces different character bounds in AIR than
> in
> > > the Flash Player, that's a bug and you should file it.
> > 
> > It produces the same bounds, you just can't access the function at the
> > same time, that is upon setting the text property. You have to do it
> > later at some point in time.
> > 
> > > 2. A constructor should not call createChildren(). The framework
> > > automatically calls createChildren() at the appropriate time, which
> is
> > > when the component is added to the display list.
> > 
> > If I don't call createChildren() I get null object exception. 
> > 
> > > 3. If you find yourself having to use callLater(), you're probably
> > doing
> > > something the wrong way. In general, you should use events rather
> than
> > > just waiting awhile. If the framework doesn't provide the event you
> > > need, please file an enhancement request.
> > 
> > Or it might be that Adobe is doing something the wrong way and we're
> > just forced to use all sorts of hacks to work with half baked
> > products. (no access to TextField, no documentation on mx_internal,
> > AIR bounds vs. FP bounds, etc, etc...)
> > 
> > Cheers
> > 
> > > Gordon Smith
> > > Adobe Flex SDK Team
> > > 
> > > ________________________________
> > > 
> > > From: [email protected]
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > [mailto:[email protected]
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > ] On
> > > Behalf Of b_alen
> > > Sent: Wednesday, February 20, 2008 8:48 AM
> > > To: [email protected] <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com> 
> > > Subject: [flexcoders] Re: getCharBounds not working on AIR?
> > > 
> > > 
> > > 
> > > Great, it seems like callLater saved my butt. Luckily i also found
> the
> > > blog which explains in short the WHY's and HOW's of the callLater.
> > > Title of the blog is callLater() - The Function That Saved My Butt.
> > > It's here:
> > > 
> > >
> >
> http://www.kylehayes.info/blog/index.cfm/2007/5/31/callLater--The-Functi
> <http://www.kylehayes.info/blog/index.cfm/2007/5/31/callLater--The-Funct
> i> 
> >
> <http://www.kylehayes.info/blog/index.cfm/2007/5/31/callLater--The-Funct
> <http://www.kylehayes.info/blog/index.cfm/2007/5/31/callLater--The-Funct
> > 
> > i> 
> > > on-That-Saved-My-Butt
> > >
> >
> <http://www.kylehayes.info/blog/index.cfm/2007/5/31/callLater--The-Funct
> <http://www.kylehayes.info/blog/index.cfm/2007/5/31/callLater--The-Funct
> > 
> >
> <http://www.kylehayes.info/blog/index.cfm/2007/5/31/callLater--The-Funct
> <http://www.kylehayes.info/blog/index.cfm/2007/5/31/callLater--The-Funct
> > 
> > > 
> > > ion-That-Saved-My-Butt> 
> > > 
> > > The function actually broke because I had to use it within the for
> > > loop. The solution was to to get rid of the for loop and instead
> split
> > > the iteration into several functions that were calling each other
> upon
> > > completion.
> > > 
> > > --- In [email protected]
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com>
> > <mailto:flexcoders%40yahoogroups.com>
> > > , "Daniel Freiman" <FreimanCQ@> wrote:
> > > >
> > > > 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 <alen.balja@> 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]
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com> 
> > > <mailto:flexcoders%40yahoogroups.com>
> <flexcoders%40yahoogroups.com>,
> > > "Daniel
> > > > > Freiman" <FreimanCQ@> 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 <alen.balja@> 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;
> > > > > > > }
> > > > > > > }
> > > > > > > }
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > > 
> > > > >
> > > >
> > >
> >
>


Reply via email to