When you say, "dump the stacktrace from the error", do you mean what I'm
doing here or something different? Here is what I'm doing:
try
{
_myClass = new MyClass(this, _dp);
}
catch (e:Error)
{
trace("A code error occured. "+e.message);
}
Jason Merrill
Bank of America
GT&O L&LD Solutions Design & Development
eTools & Multimedia
Bank of America Flash Platform Developer Community
________________________________
From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of Alex Harui
Sent: Friday, February 01, 2008 2:38 PM
To: [email protected]
Subject: RE: [flexcoders] Set dataProvider method stops at
midpoint?
I usually put a try/catch around the suspected line and dump the
stacktrace from the error.
________________________________
From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of Merrill, Jason
Sent: Friday, February 01, 2008 11:25 AM
To: [email protected]
Subject: RE: [flexcoders] Set dataProvider method stops at
midpoint?
Thanks Alex, Jim, I'm sprinkling around some try/catch
statements and I'll try debugging this a little further. Seems
something in my class is getting a null value somewhere, so that's a
start anyway.
Jason Merrill
Bank of America
GT&O L&LD Solutions Design & Development
eTools & Multimedia
Bank of America Flash Platform Developer Community
________________________________
From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of Jim Hayes
Sent: Friday, February 01, 2008 1:34 PM
To: [email protected]
Subject: RE: [flexcoders] Set dataProvider method stops
at midpoint?
That's making sense for me now, a few days ago I made a
*very* stupid mistake and saw exactly the same symptoms as you, Jason.
Again, a simple bare bones test showed everything working exactly as
expected, yet the flow of execution in the application itself stopped
dead with no error raised. Stepping in the debugger last saw it
disappearing somewhere(?) into the binding code ... Whilst totally
confused at the time, luckily I did spot my obvious error whilst
scratching my head and looking at the method in question ...
Thanks Alex, that does help me understand why.
-----Original Message-----
From: [email protected]
<mailto:flexcoders%40yahoogroups.com> on behalf of Alex Harui
Sent: Fri 01/02/2008 18:11
To: [email protected]
<mailto:flexcoders%40yahoogroups.com>
Subject: RE: [flexcoders] Set dataProvider method stops
at midpoint?
Don't forget Jason, we're all new to AS3, no matter how
much time you
spent with AS2. In AS3, if some outer method in your
call stack has a
try/catch handler (which binding does), then if
something in the "new
MyClass" line throws an error, you'll see exactly what
you described.
________________________________
From: [email protected]
<mailto:flexcoders%40yahoogroups.com>
[mailto:[email protected] <mailto:flexcoders%40yahoogroups.com>
] On
Behalf Of Merrill, Jason
Sent: Friday, February 01, 2008 8:21 AM
To: [email protected]
<mailto:flexcoders%40yahoogroups.com>
Subject: [flexcoders] Set dataProvider method stops at
midpoint?
I'm somewhat new to Flex, but NOT new to Actionscript,
and this is the
oddest and one of the most frustrating things I have
ever had to debug.
I'm sure it's just me not understanding how Flex,
components, and
databinding works, but I'm at a loss. The core of my
question is: What
could cause a method to stop executing completely in the
middle and not
have the debugger complain of any errors? I have
verified this happens
in my application through trace statements, but have not
been able to
reproduce it with simple test cases which mimics the
same structure (as
far as I can tell).
I have an actionscript-written component that extends
UIComponent. In
the main app, I have some dummy data put into an
ArrayCollection which
is in an init() function, which is fired upon the Flex
app's
creationComplete event (see sample code at the bottom of
this post). In
the component which extends UIComponent and overwrites
some methods
(code snippet below), I have a set dataProvider function
which takes in
the data from the dataProvider parameter for the
component in MXML, but
it seems to hang up halfway through. The method sets the
dataProvider
data to a private variable, and then creates an instance
of another
class:
//snippet
[Bindable]
private var _dataProvider:ArrayCollection;
public function set
dataProvider(_dp:ArrayCollection):void
{
_dataProvider = _dp;
trace("this traces fine, and data received.");
_myClass = new MyClass(this, _dp); //why would this stop
the method?
trace("This never traces!!!!!");
addChild(_myClass);
}
The first trace works fine, the second never traces, and
I don't get any
debugger or console messages (Flexbuilder 2)! So I
thought, maybe there
was some code in my "MyClass" (not the real name, but
keeping it simple
here) which extends sprite which is not working right -
but I've
searched through MyClass and the other class it uses,
and all the data
comes through fine, it's constructor fires, and so does
the constructor
of the other class it imports. I spent most of yesterday
trying to
debug this and I'm turning to the list now. Here is the
main app MXML
(the segment of the component is above):
//snippet
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml
<http://www.adobe.com/2006/mxml>
<http://www.adobe.com/2006/mxml
<http://www.adobe.com/2006/mxml> > " xmlns:c="components.*"
layout="absolute"
applicationComplete="init()" >
<mx:Script>
<![CDATA[
[Bindable]
public var fakeData:ArrayCollection;
private function init():void
{
fakeData = setFakeData();
}
private function setFakeData():void
{
fakeData.addItem({firstName:"David",
lastName:"Branson"});
fakeData.addItem({firstName:"Nelson",
lastName:"Davidson"});
fakeData.addItem({firstName:"Sally", lastName:""});
}
....etc etc.
then further down in the MXML is the component
declaration:
<c:MyComponent dataProvider="{fakeData}" ..blah blah/>
What could be going on here? Thanks for any insights.
Jason Merrill
Bank of America
GT&O L&LD Solutions Design & Development
eTools & Multimedia
Bank of America Flash Platform Developer Community
__________________________________________________________
This communication is from Primal Pictures Ltd., a
company registered in England and Wales with registration No. 02622298
and registered office: 4th Floor, Tennyson House, 159-165 Great Portland
Street, London, W1W 5PA, UK. VAT registration No. 648874577.
This e-mail is confidential and may be privileged. It
may be read, copied and used only by the intended recipient. If you have
received it in error, please contact the sender immediately by return
e-mail or by telephoning +44(0)20 7637 1010. Please then delete the
e-mail and do not disclose its contents to any person.
This email has been scanned for Primal Pictures by the
MessageLabs Email Security System.
__________________________________________________________