I'm hoping others will chime in. Try this presentation on Flex
debugging:
http://www.authorstream.com/Presentation/Edolf-30961-flex-builder-debugger-Debugging-Applications-Beginning-trace-Beyond-happen-as-Entertainment-ppt-powerpoint/

-Alex

--- In [email protected], Adrian Williams <[EMAIL PROTECTED]> wrote:
>
> Alex,
> 
>     when you say a "debug build" what do you mean? and how do I access 
> the stack trace? whenever I've heard/used stack trace before, its
always 
> been on the C# side and the entire listing that's provided when an 
> exception is thrown...which in this case was included in the original 
> thread (at the bottom of this email).
> 
> Thanks,
> Adrian
> 
> oneworld95 wrote:
> >
> > Hi, Adrian,
> >
> > Wow. That's a doozey of an issue. When you're on the bleeding edge,
> > you tend to bleed a lot. My recent experience with the ADG wasn't
> > pretty or pleasant, and I bled a lot. But by posting to this group and
> > various blogs, I found kind souls who helped and finally, through
> > trial-and-error, found the solution.
> >
> > Some thoughts on the problem,
> > - Could it be that after the first (and each) delete, you might need
> > to refresh your dataprovider for the ADG? It might be worth a try.
> > - I know the myADG.invalidateDisplayList() helped a lot. It forced
> > the ADG to fetch the latest data. I overrode the set data() method in
> > the itemRenderer. No explicit validateDisplayList() method.
> > - I also used the myADG.invalidateList() elsewhere when the screen
> > wasn't refreshing.
> >
> > As Alex Harui suggested, do a debug build and post the entire stack
> > trace with the linenumbers here. Good luck :)
> >
> > Alex
> >
> > --- In [email protected] 
> > <mailto:flexcoders%40yahoogroups.com>, Adrian Williams <adrianw@> 
> > wrote:
> > >
> > > Ok, I have spent the morning pouring through the debugging trying to
> > > figure out what this error is and am completely stymied. I have been
> > > able to determine it has nothing to do with my delete
functions...the
> > > code never makes it to them anyway...I suspect it may be a bug
in the
> > > core AdvancedDataGridBaseEx code. The actions that are being
done are:
> > >
> > > 1.) A user drags a grouped node off the 6-column ADG to the
trash can
> > > image on the app control bar...
> > >
> > > <mx:Image source="{trashImage}" right="80"
> > buttonMode="true"
> > > toolTip="drag a subgroup here to delete them from the project"
> > > dragDrop="deleteSubgroupDrop(event)"
> > > dragEnter="deleteSubgroupEnter(event)" id="image2"/>
> > >
> > > 2.) my drag manager is listening and accepts the dragEnter:
> > >
> > > private function deleteSubgroupEnter(evt:DragEvent):void
> > > {
> > > var obj:IUIComponent = IUIComponent(evt.currentTarget);
> > > DragManager.acceptDragDrop(obj);
> > > }
> > >
> > > 2.) and then accepts the dragDrop. On the drop, I am throwing an
alert
> > > box up to confirm that the user wants to do this:
> > >
> > > private function deleteSubgroupDrop(event:DragEvent):void
> > > {
> > > partsToDelete = new Array;
> > > partsToDelete = currentSubgroups.selectedItems;
> > > subgroupToRemove =
> > currentSubgroups.selectedItem.GroupLabel;
> > > alert.confirm("Are you sure you want to delete this
> > > subgroup: '" + subgroupToRemove +
> > > "' from the project?? This cannot be reversed!!",
> > > deleteSubgroupAction);
> > > }
> > >
> > > 3.) When it hits the alert box, the code then jumps into the core to
> > > render the alert box. The code eventually ends up in the
> > > LayoutManager.as code on line 592, function
validateDisplayList():void.
> > >
> > > 4.) The logic steps thru all of the objects that are on the
stage and
> > > for each of them calls the obj.validateDisplayList(); function. All
> > goes
> > > well until it gets to my ADG. Via the validate leg, it goes to the
> > > ADGBaseEx.as code to the function
> > > commitEditedItemPosition(coord:Object):void. During the course
of this
> > > function, the columnIndex is manhandled all over the place.
> > Eventually,
> > > it gets to line 4406 where it is checking:
> > >
> > > if(colIndex > lockedColumnCount)
> > >
> > > and passes this check, stepping to the next line of
> > >
> > > if (colIndex < horizontalScrollPosition + lockedColumnCount)
> > >
> > > which fails, then executing a loop against the colIndex. Once the
> > > loop is completed, the final line
> > >
> > > actualColIndex =
> > >
absoluteToVisibleColumnIndex(displayToAbsoluteColumnIndex(colIndex));
> > >
> > > is called, which is on line 7164 of the AdvancedDataGridBaseEx.as
> > > code. Within this function is a single method:
> > >
> > > return displayableColumns[columnIndex].colNum;
> > >
> > > As I stepped thru the code, I watched the values. columnIndex == 6
> > > and on the execution of this line, the error is thrown. When I hover
> > > the mouse over the components of the line, I get tooltips on
> > > "displayableColumns (Array displayableColumns -
> > > mx.controls.AdvancedDataGridBaseEx) and over [columnIndex]
(columnIndex
> > > = 6). However, when I hover over the .colNum...I get nothing. In
this
> > > case, the error is:
> > >
> > > TypeError: Error #1010: A term is undefined and has no properties.
> > >
> > > I am really hoping that someone, especially Alex or the like, can
> > > provide some insight to what the heck is happening here because I
> > > really, really need to get past this error.
> > >
> > > Best,
> > > Adrian
> > >
> > > oneworld95 wrote:
> > > >
> > > > What does your delete method look like? Try adding some IF
statements
> > > > to check for null or undefined values before you run the
delete. If
> > > > it's null or undefined, do a return.
> > > >
> > > > --- In [email protected] 
> > <mailto:flexcoders%40yahoogroups.com>
> > > > <mailto:flexcoders%40yahoogroups.com>, Adrian Williams <adrianw@>
> > > > wrote:
> > > > >
> > > > > All,
> > > > >
> > > > > I could really use some help in identifying where even to begin
> > > > > looking to figure out what's causing this problem.
> > > > >
> > > > > I have a ADG that is displaying a GroupingCollection.
> > > > >
> > > > > I have an application control bar that has a "trash" image.
A user
> > > > > can drag a node from the ADG and drop it in the trash to
delete the
> > > > node
> > > > > and all it's children.
> > > > >
> > > > > When you initially get into the application and drag the
first node
> > > > > of the tree to the trash, the delete fires correctly and without
> > error.
> > > > >
> > > > > When you try to drag the (now) first node of the tree into the
> > > > > trash, I get the following error:
> > > > >
> > > > > TypeError: Error #1010: A term is undefined and has no
properties.
> > > > > at
> > > > >
> > > >
> >
mx.controls::AdvancedDataGridBaseEx/displayToAbsoluteColumnIndex()[C:\Work\flex\dmv_automation\projects\datavisualisation\src\mx\controls\AdvancedDataGridBaseEx.as:7166]
> > > > > at
> > > > >
> > > >
> >
mx.controls::AdvancedDataGridBaseEx/commitEditedItemPosition()[C:\Work\flex\dmv_automation\projects\datavisualisation\src\mx\controls\AdvancedDataGridBaseEx.as:4426]
> > > > > at
> > > > >
> > > >
> >
mx.controls::AdvancedDataGridBaseEx/updateDisplayList()[C:\Work\flex\dmv_automation\projects\datavisualisation\src\mx\controls\AdvancedDataGridBaseEx.as:1807]
> > > > > at
> > > > >
> > > >
> >
mx.controls::AdvancedDataGrid/updateDisplayList()[C:\Work\flex\dmv_automation\projects\datavisualisation\src\mx\controls\AdvancedDataGrid.as:5924]
> > > > > at
> > > > >
> > > >
> >
mx.controls.listClasses::AdvancedListBase/validateDisplayList()[C:\Work\flex\dmv_automation\projects\datavisualisation\src\mx\controls\listClasses\AdvancedListBase.as:3071]
> > > > > at
> > > > >
> > > >
> >
mx.managers::LayoutManager/validateDisplayList()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:602]
> > > > > at
> > > > >
> > > >
> >
mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:675]
> > > > > at Function/http://adobe.com/AS3/2006/builtin::apply 
> > <http://adobe.com/AS3/2006/builtin::apply>
> > > > <http://adobe.com/AS3/2006/builtin::apply 
> > <http://adobe.com/AS3/2006/builtin::apply>>()
> > > > > at
> > > > >
> > > >
> >
mx.core::UIComponent/callLaterDispatcher2()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8460]
> > > > > at
> > > > >
> > > >
> >
mx.core::UIComponent/callLaterDispatcher()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8403]
> > > > >
> > > > > This only errors when manipulating the second time you try to
> > > > delete
> > > > > the first node. You can delete any of the other nodes,
repeatedly,
> > > > > without error. I suspect there is some kind of out of index
problem
> > > > > happening but the dump gives me no ideas on where to look.
> > > > >
> > > > > Anyone?!
> > > > >
> > > > > Thanks,
> > > > > Adrian
> > > > >
> > > >
> > > >
> > >
> >
> >
>


Reply via email to