1. #1
    Sencha User
    Join Date
    Nov 2007
    Location
    London, UK
    Posts
    583
    Vote Rating
    -1
    mabello is an unknown quantity at this point

      0  

    Default Compression exception

    Compression exception


    Great tool, thanks!
    I have found some troubles while trying to compress this file.

    PHP Code:
    Array.prototype.contains = function(element) {
        return 
    this.indexOf(element) !== -1;
    };

    Ext.namespace("Ext.ux"); 

    /** 
     * @class Ext.ux.DDView 
     * A DnD enabled version of Ext.View. 
     * @param {Element/String} container The Element in which to create the View. 
     * @param {String} tpl The template string used to create the markup for each element of the View 
     * @param {Object} config The configuration properties. These include all the config options of 
     * {@link Ext.View} plus some specific to this class.<br> 
     * <p> 
     * Drag/drop is implemented by adding {@link Ext.data.Record}s to the target DDView. If copying is 
     * not being performed, the original {@link Ext.data.Record} is removed from the source DDView.<br> 
     * <p> 
     * The following extra CSS rules are needed to provide insertion point highlighting:<pre><code> 
    .x-view-drag-insert-above { 
        border-top:1px dotted #3366cc; 

    .x-view-drag-insert-below { 
        border-bottom:1px dotted #3366cc; 

    </code></pre> 
     *  
     */ 
    Ext.ux.DDView = function(config) {
        if (!
    config.itemSelector) {
            var 
    tpl config.tpl;
            if (
    this.classRe.test(tpl)) {
                
    config.tpl tpl.replace(this.classRe'class=$1x-combo-list-item $2$1');
            }
            else {
                
    config.tpl tpl.replace(this.tagRe'$1 class="x-combo-list-item" $2');
            }
            
    config.itemSelector ".x-combo-list-item";
        }
        
    Ext.ux.DDView.superclass.constructor.call(thisExt.apply(config, { 
            
    borderfalse 
        
    })); 
    }; 

    Ext.extend(Ext.ux.DDViewExt.DataView, { 
    /**    @cfg {String/Array} dragGroup The ddgroup name(s) for the View's DragZone. */ 
    /**    @cfg {String/Array} dropGroup The ddgroup name(s) for the View's DropZone. */ 
    /**    @cfg {Boolean} copy Causes drag operations to copy nodes rather than move. */ 
    /**    @cfg {Boolean} allowCopy Causes ctrl/drag operations to copy nodes rather than move. */ 

        
    sortDir'ASC',

        
    isFormFieldtrue
         
        
    classRe: /class=(['"])(.*)\1/, 

        tagRe: /(<\w*)(.*?>)/, 

        reset: Ext.emptyFn, 
         
        clearInvalid: Ext.form.Field.prototype.clearInvalid, 

        msgTarget: '
    qtip', 

        afterRender: function() {
            Ext.ux.DDView.superclass.afterRender.call(this);
            if (this.dragGroup) { 
                this.setDraggable(this.dragGroup.split(",")); 
            } 
            if (this.dropGroup) { 
                this.setDroppable(this.dropGroup.split(",")); 
            } 
            if (this.deletable) { 
                this.setDeletable(); 
            } 
            this.isDirtyFlag = false; 
            this.addEvents( 
                "drop" 
            );
        },
         
        validate: function() { 
            return true; 
        }, 
         
        destroy: function() { 
            this.purgeListeners(); 
            this.getEl().removeAllListeners(); 
            this.getEl().remove(); 
            if (this.dragZone) { 
                if (this.dragZone.destroy) { 
                    this.dragZone.destroy(); 
                } 
            } 
            if (this.dropZone) { 
                if (this.dropZone.destroy) { 
                    this.dropZone.destroy(); 
                } 
            } 
        }, 

    /**    Allows this class to be an Ext.form.Field so it can be found using {@link Ext.form.BasicForm#findField}. */ 
        getName: function() { 
            return this.name; 
        }, 

    /**    Loads the View from a JSON string representing the Records to put into the Store. */ 
        setValue: function(v) { 
            if (!this.store) { 
                throw "DDView.setValue(). DDView must be constructed with a valid Store"; 
            } 
            var data = {}; 
            data[this.store.reader.meta.root] = v ? [].concat(v) : []; 
            this.store.proxy = new Ext.data.MemoryProxy(data); 
            this.store.load(); 
        }, 

    /**    @return {String} a parenthesised list of the ids of the Records in the View. */ 
        getValue: function() { 
            var result = '
    ('; 
            this.store.each(function(rec) { 
                result += rec.id + '
    ,'; 
            }); 
            return result.substr(0, result.length - 1) + '
    )'; 
        }, 
         
        getIds: function() { 
            var i = 0, result = new Array(this.store.getCount()); 
            this.store.each(function(rec) { 
                result[i++] = rec.id; 
            }); 
            return result; 
        }, 
         
        isDirty: function() { 
            return this.isDirtyFlag; 
        }, 

    /** 
     *    Part of the Ext.dd.DropZone interface. If no target node is found, the 
     *    whole Element becomes the target, and this causes the drop gesture to append. 
     */ 
        getTargetFromEvent : function(e) { 
            var target = e.getTarget(); 
            while ((target !== null) && (target.parentNode != this.el.dom)) { 
                target = target.parentNode; 
            } 
            if (!target) { 
                target = this.el.dom.lastChild || this.el.dom; 
            } 
            return target; 
        }, 

    /** 
     *    Create the drag data which consists of an object which has the property "ddel" as 
     *    the drag proxy element.  
     */ 
        getDragData : function(e) { 
            var target = this.findItemFromChild(e.getTarget()); 
            if(target) { 
                if (!this.isSelected(target)) { 
                    delete this.ignoreNextClick; 
                    this.onItemClick(target, this.indexOf(target), e); 
                    this.ignoreNextClick = true; 
                } 
                var dragData = { 
                    sourceView: this, 
                    viewNodes: [], 
                    records: [], 
                    copy: this.copy || (this.allowCopy && e.ctrlKey) 
                }; 
                if (this.getSelectionCount() == 1) { 
                    var i = this.getSelectedIndexes()[0]; 
                    var n = this.getNode(i); 
                    dragData.viewNodes.push(dragData.ddel = n); 
                    dragData.records.push(this.store.getAt(i)); 
                    dragData.repairXY = Ext.fly(n).getXY(); 
                } else { 
                    dragData.ddel = document.createElement('
    div'); 
                    dragData.ddel.className = '
    multi-proxy'; 
                    this.collectSelection(dragData); 
                } 
                return dragData; 
            } 
            return false; 
        }, 

    //    override the default repairXY. 
        getRepairXY : function(e){ 
            return this.dragData.repairXY; 
        }, 

    /**    Put the selections into the records and viewNodes Arrays. */ 
        collectSelection: function(data) { 
            data.repairXY = Ext.fly(this.getSelectedNodes()[0]).getXY(); 
            if (this.preserveSelectionOrder === true) { 
                Ext.each(this.getSelectedIndexes(), function(i) { 
                    var n = this.getNode(i); 
                    var dragNode = n.cloneNode(true); 
                    dragNode.id = Ext.id(); 
                    data.ddel.appendChild(dragNode); 
                    data.records.push(this.store.getAt(i)); 
                    data.viewNodes.push(n); 
                }, this); 
            } else { 
                var i = 0; 
                this.store.each(function(rec){ 
                    if (this.isSelected(i)) { 
                        var n = this.getNode(i); 
                        var dragNode = n.cloneNode(true); 
                        dragNode.id = Ext.id(); 
                        data.ddel.appendChild(dragNode); 
                        data.records.push(this.store.getAt(i)); 
                        data.viewNodes.push(n); 
                    } 
                    i++; 
                }, this); 
            } 
        }, 
         
    /**    Specify to which ddGroup items in this DDView may be dragged. */ 
        setDraggable: function(ddGroup) { 
            if (ddGroup instanceof Array) { 
                Ext.each(ddGroup, this.setDraggable, this); 
                return; 
            } 
            if (this.dragZone) { 
                this.dragZone.addToGroup(ddGroup); 
            } else { 
                this.dragZone = new Ext.dd.DragZone(this.getEl(), { 
                    containerScroll: true, 
                    ddGroup: ddGroup 
                }); 
    //            Draggability implies selection. DragZone'
    s mousedown selects the element
                if (!
    this.multiSelect) { this.singleSelect true; } 

    //            Wire the DragZone's handlers up to methods in *this* 
                
    this.dragZone.getDragData this.getDragData.createDelegate(this); 
                
    this.dragZone.getRepairXY this.getRepairXY
                
    this.dragZone.onEndDrag this.onEndDrag
            } 
        }, 

    /**    Specify from which ddGroup this DDView accepts drops. */ 
        
    setDroppable: function(ddGroup) { 
            if (
    ddGroup instanceof Array) { 
                
    Ext.each(ddGroupthis.setDroppablethis); 
                return; 
            } 
            if (
    this.dropZone) { 
                
    this.dropZone.addToGroup(ddGroup); 
            } else { 
                
    this.dropZone = new Ext.dd.DropZone(this.getEl(), { 
                    
    owningViewthis
                    
    containerScrolltrue
                    
    ddGroupddGroup 
                
    }); 

    //            Wire the DropZone's handlers up to methods in *this* 
                
    this.dropZone.getTargetFromEvent this.getTargetFromEvent.createDelegate(this); 
                
    this.dropZone.onNodeEnter this.onNodeEnter.createDelegate(this); 
                
    this.dropZone.onNodeOver this.onNodeOver.createDelegate(this); 
                
    this.dropZone.onNodeOut this.onNodeOut.createDelegate(this); 
                
    this.dropZone.onNodeDrop this.onNodeDrop.createDelegate(this); 
            } 
        }, 

    /**    Decide whether to drop above or below a View node. */ 
        
    getDropPoint : function(endd){ 
            if (
    == this.el.dom) { return "above"; } 
            var 
    Ext.lib.Dom.getY(n), n.offsetHeight
            var 
    + (t) / 2
            var 
    Ext.lib.Event.getPageY(e); 
            if(
    <= c) { 
                return 
    "above"
            }else{ 
                return 
    "below"
            } 
        }, 
         
        
    isValidDropPoint: function(ptndata) { 
            if (!
    data.viewNodes || (data.viewNodes.length != 1)) { 
                return 
    true
            } 
            var 
    data.viewNodes[0]; 
            if (
    == n) { 
                return 
    false
            } 
            if ((
    pt == "below") && (n.nextSibling == d)) { 
                return 
    false
            } 
            if ((
    pt == "above") && (n.previousSibling == d)) { 
                return 
    false
            } 
            return 
    true
        }, 

        
    onNodeEnter : function(nddedata){ 
            if (
    this.highlightColor && (data.sourceView != this)) {
                
    this.el.highlight(this.highlightColor);
            }
            return 
    false
        }, 
         
        
    onNodeOver : function(nddedata){ 
            var 
    dragElClass this.dropNotAllowed
            var 
    pt this.getDropPoint(endd); 
            if (
    this.isValidDropPoint(ptndata)) { 
                if (
    this.appendOnly || this.sortField) {
                    return 
    "x-tree-drop-ok-below";
                }

    //            set the insert point style on the target node 
                
    if (pt) { 
                    var 
    targetElClass
                    if (
    pt == "above"){ 
                        
    dragElClass n.previousSibling "x-tree-drop-ok-between" "x-tree-drop-ok-above"
                        
    targetElClass "x-view-drag-insert-above"
                    } else { 
                        
    dragElClass n.nextSibling "x-tree-drop-ok-between" "x-tree-drop-ok-below"
                        
    targetElClass "x-view-drag-insert-below"
                    } 
                    if (
    this.lastInsertClass != targetElClass){ 
                        
    Ext.fly(n).replaceClass(this.lastInsertClasstargetElClass); 
                        
    this.lastInsertClass targetElClass
                    } 
                } 
            } 
            return 
    dragElClass
        }, 

        
    onNodeOut : function(nddedata){ 
            
    this.removeDropIndicators(n); 
        }, 

        
    onNodeDrop : function(nddedata){ 
            if (
    this.fireEvent("drop"thisnddedata) === false) { 
                return 
    false
            } 
            var 
    pt this.getDropPoint(endd); 
            var 
    insertAt = (this.appendOnly || (== this.el.dom)) ? this.store.getCount() : n.viewIndex
            if (
    pt == "below") { 
                
    insertAt++; 
            } 

    //        Validate if dragging within a DDView 
            
    if (data.sourceView == this) { 
    //            If the first element to be inserted below is the target node, remove it 
                
    if (pt == "below") { 
                    if (
    data.viewNodes[0] == n) { 
                        
    data.viewNodes.shift(); 
                    } 
                } else { 
    //    If the last element to be inserted above is the target node, remove it 
                    
    if (data.viewNodes[data.viewNodes.length 1] == n) { 
                        
    data.viewNodes.pop(); 
                    } 
                } 
         
    //            Nothing to drop... 
                
    if (!data.viewNodes.length) { 
                    return 
    false
                } 

    //            If we are moving DOWN, then because a store.remove() takes place first, 
    //            the insertAt must be decremented. 
                
    if (insertAt this.store.indexOf(data.records[0])) { 
                    
    insertAt--; 
                } 
            } 

    //        Dragging from a Tree. Use the Tree's recordFromNode function. 
            
    if (data.node instanceof Ext.tree.TreeNode) { 
                var 
    data.node.getOwnerTree().recordFromNode(data.node); 
                if (
    r) { 
                    
    data.records = [ ]; 
                } 
            } 
             
            if (!
    data.records) { 
                
    alert("Programming problem. Drag data contained no Records"); 
                return 
    false
            } 

            for (var 
    0data.records.lengthi++) { 
                var 
    data.records[i]; 
                var 
    dup this.store.getById(r.id); 
                if (
    dup && (dd != this.dragZone)) { 
                    if(!
    this.allowDup && !this.allowTrash){
                        
    Ext.fly(this.getNode(this.store.indexOf(dup))).frame("red"1); 
                        return 
    true
                    
    }
                    var 
    x=new Ext.data.Record();
                    
    r.id=x.id;
                    
    delete x;
                }
                if (
    data.copy) { 
                    
    this.store.insert(insertAt++, r.copy()); 
                } else { 
                    if (
    data.sourceView) { 
                        
    data.sourceView.isDirtyFlag true
                        
    data.sourceView.store.remove(r); 
                    } 
                    if(!
    this.allowTrash)this.store.insert(insertAt++, r); 
                } 
                if(
    this.sortField){
                    
    this.store.sort(this.sortFieldthis.sortDir);
                }
                
    this.isDirtyFlag true
            } 
            
    this.dragZone.cachedTarget null
            return 
    true
        }, 

    //    Ensure the multi proxy is removed 
        
    onEndDrag: function(datae) { 
            var 
    Ext.get(this.dragData.ddel); 
            if (
    && d.hasClass("multi-proxy")) { 
                
    d.remove(); 
                
    //delete this.dragData.ddel; 
            

        }, 

        
    removeDropIndicators : function(n){ 
            if(
    n){ 
                
    Ext.fly(n).removeClass([ 
                    
    "x-view-drag-insert-above"
                    
    "x-view-drag-insert-left",
                    
    "x-view-drag-insert-right",
                    
    "x-view-drag-insert-below"]); 
                
    this.lastInsertClass "_noclass"
            } 
        }, 

    /** 
     *    Utility method. Add a delete option to the DDView's context menu. 
     *    @param {String} imageUrl The URL of the "delete" icon image. 
     */ 
        
    setDeletable: function(imageUrl) { 
            if (!
    this.singleSelect && !this.multiSelect) { 
                
    this.singleSelect true
            } 
            var 
    this.getContextMenu(); 
            
    this.contextMenu.on("itemclick", function(item) { 
                switch (
    item.id) { 
                    case 
    "delete"
                        
    this.remove(this.getSelectedIndexes()); 
                        break; 
                } 
            }, 
    this); 
            
    this.contextMenu.add({ 
                
    iconimageUrl || AU.resolveUrl("/images/delete.gif"), 
                
    id"delete"
                
    textAU.getMessage("deleteItem"
            }); 
        }, 
         
    /**    Return the context menu for this DDView. */ 
        
    getContextMenu: function() { 
            if (!
    this.contextMenu) { 
    //            Create the View's context menu 
                
    this.contextMenu = new Ext.menu.Menu({ 
                    
    idthis.id "-contextmenu" 
                
    }); 
                
    this.el.on("contextmenu"this.showContextMenuthis); 
            } 
            return 
    this.contextMenu
        }, 
         
        
    disableContextMenu: function() { 
            if (
    this.contextMenu) { 
                
    this.el.un("contextmenu"this.showContextMenuthis); 
            } 
        }, 

        
    showContextMenu: function(eitem) { 
            
    item this.findItemFromChild(e.getTarget()); 
            if (
    item) { 
                
    e.stopEvent(); 
                
    this.select(this.getNode(item), this.multiSelect && e.ctrlKeytrue); 
                
    this.contextMenu.showAt(e.getXY()); 
            } 
        }, 

    /** 
     *    Remove {@link Ext.data.Record}s at the specified indices. 
     *    @param {Array/Number} selectedIndices The index (or Array of indices) of Records to remove. 
     */ 
        
    remove: function(selectedIndices) { 
            
    selectedIndices = [].concat(selectedIndices); 
            for (var 
    0selectedIndices.lengthi++) { 
                var 
    rec this.store.getAt(selectedIndices[i]); 
                
    this.store.remove(rec); 
            } 
        }, 

    /** 
     *    Double click fires the event, but also, if this is draggable, and there is only one other 
     *    related DropZone that is in another DDView, it drops the selected node on that DDView. 
     */ 
        
    onDblClick : function(e){ 
            var 
    item this.findItemFromChild(e.getTarget()); 
            if(
    item){ 
                if (
    this.fireEvent("dblclick"thisthis.indexOf(item), iteme) === false) { 
                    return 
    false
                } 
                if (
    this.dragGroup) { 
                    var 
    targets Ext.dd.DragDropMgr.getRelated(this.dragZonetrue); 

    //                Remove instances of this View's DropZone 
                    
    while (targets.contains(this.dropZone)) { 
                        
    targets.remove(this.dropZone); 
                    } 

    //                If there's only one other DropZone, and it is owned by a DDView, then drop it in 
                    
    if ((targets.length == 1) && (targets[0].owningView)) { 
                        
    this.dragZone.cachedTarget null
                        var 
    el Ext.get(targets[0].getEl()); 
                        var 
    box el.getBox(true); 
                        
    targets[0].onNodeDrop(el.dom, { 
                            
    targetel.dom
                            
    xy: [box.xbox.box.height 1
                        }, 
    nullthis.getDragData(e)); 
                    } 
                } 
            } 
        }, 
         
        
    onItemClick : function(itemindexe){ 
    //        The DragZone's mousedown->getDragData already handled selection 
            
    if (this.ignoreNextClick) { 
                
    delete this.ignoreNextClick
                return; 
            } 

            if(
    this.fireEvent("beforeclick"thisindexiteme) === false){ 
                return 
    false
            } 
            if(
    this.multiSelect || this.singleSelect){ 
                if(
    this.multiSelect && e.shiftKey && this.lastSelection){ 
                    
    this.select(this.getNodes(this.indexOf(this.lastSelection), index), false); 
                } else if (
    this.isSelected(item) && e.ctrlKey) { 
                    
    this.deselect(item); 
                }else{ 
                    
    this.deselect(item); 
                    
    this.select(itemthis.multiSelect && e.ctrlKey); 
                    
    this.lastSelection item
                } 
                
    e.preventDefault(); 
            } 
            return 
    true
        } 
    }); 
    Any clue or I'm doing something wrong?
    Thanks

  2. #2
    Sencha - Community Support Team jay@moduscreate.com's Avatar
    Join Date
    Mar 2007
    Location
    DC Area =)
    Posts
    16,364
    Vote Rating
    81
    jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all jay@moduscreate.com is a name known to all

      0  

    Default


    minifying or compressing?

  3. #3
    Sencha User
    Join Date
    Nov 2007
    Location
    London, UK
    Posts
    583
    Vote Rating
    -1
    mabello is an unknown quantity at this point

      0  

    Default


    Thanks jgarcia for your reply.
    Minifying, I have a bounch of files and this one gives me troubles...

  4. #4
    Ext User
    Join Date
    Apr 2007
    Location
    Melbourne, Australia
    Posts
    169
    Vote Rating
    0
    Zakaroonikov is on a distinguished road

      0  

    Default


    Quote Originally Posted by mabello View Post
    Thanks jgarcia for your reply.
    Minifying, I have a bounch of files and this one gives me troubles...
    This is the line that causes problems:

    PHP Code:
        classRe: /class=(['"])(.*)\1/, 
    What I did was commented out that line and changed the following function (I replaced this.classRE with a local variable classRE) :

    PHP Code:

    Ext
    .ux.DDView = function(config) {

        if (!
    config.itemSelector) {

            var 
    tpl config.tpl;
            var 
    classRe = /class=(['"])(.*)\1/;
            if (classRe.test(tpl)) {

                config.tpl = tpl.replace(classRe, '
    class=$1x-combo-list-item $2$1');

            }

            else {

                config.tpl = tpl.replace(this.tagRe, '
    $class="x-combo-list-item" $2');

            }

            config.itemSelector = ".x-combo-list-item";

        }

        Ext.ux.DDView.superclass.constructor.call(this, Ext.apply(config, { 

            border: false 

        })); 

    }; 

  5. #5
    Sencha User
    Join Date
    Nov 2007
    Location
    London, UK
    Posts
    583
    Vote Rating
    -1
    mabello is an unknown quantity at this point

      0  

    Default


    Thanks for your kind reply, it works now.

    Though, I have a problem creating the -debug.js file, JSBuilder stops working for no reason, it is stuck and I have to kill the process.

    Hence, I have created my own tool to create the minyfied file and the debug file ( I use JSBuilder GUI to create the xml part I need).

    Thanks a lot

  6. #6
    Ext JS Premium Member watrboy00's Avatar
    Join Date
    Aug 2007
    Location
    Minneapolis, MN
    Posts
    473
    Vote Rating
    0
    watrboy00 is on a distinguished road

      0  

    Default


    I have noticed in my own experience for JS Builder to break on most regular expressions.

    Would be nice to see if there is a possible fix for this.
    Eric Berens
    Intranet Systems Manager @ Best Buy
    You should follow me on twitter here.

  7. #7
    Ext User
    Join Date
    Jul 2007
    Location
    Florida
    Posts
    9,996
    Vote Rating
    6
    mjlecomte will become famous soon enough mjlecomte will become famous soon enough

      0  

    Default


    For only the ext3 ext.jsb (ext2 ext.jsb is fine)
    I'm getting this error with JS Builder 1.1.2.0:
    Code:
    Unhandled exception.....Name cannot begin with the '<' characer, hesacecimal value 0x3C. Line 2, position 2.
    I don't see the problem, comparing this to the working ext2 jsb file.

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <project path="" name="Ext - JS Lib" author="Ext JS, LLC" version="3.0 Pre-alpha" copyright="Ext JS Library $version&#xD;&#xA;Copyright(c) 2006-2008, $author.&#xD;&#xA;licensing@extjs.com&#xD;&#xA;&#xD;&#xA;http://extjs.com/license" output="C:\apps\www\deploy\ext-3.0-dev\" source="True" source-dir="$output\source" minify="True" min-dir="$output\build" doc="False" doc-dir="$output\docs" min-dair="$output\build">
      <directory name="" />


    Details of error:
    Code:
    See the end of this message for details on invoking 
    just-in-time (JIT) debugging instead of this dialog box.
    
    ************** Exception Text **************
    System.Xml.XmlException: Name cannot begin with the '<' character, hexadecimal value 0x3C. Line 2, position 2.
       at System.Xml.XmlTextReaderImpl.Throw(Exception e)
       at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
       at System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res, String[] args)
       at System.Xml.XmlTextReaderImpl.ParseQName(Boolean isQName, Int32 startOffset, Int32& colonPos)
       at System.Xml.XmlTextReaderImpl.ParseElement()
       at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
       at System.Xml.XmlTextReaderImpl.Read()
       at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
       at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
       at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
       at System.Xml.XmlDocument.Load(XmlReader reader)
       at System.Xml.XmlDocument.Load(String filename)
       at JSBuild.Project.Load(String filePath, String fileName)
       at JSBuild.MainForm.tbOpen_Click(Object sender, EventArgs e)
       at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
       at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
       at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
       at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
       at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
       at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
       at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
       at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       at System.Windows.Forms.ToolStrip.WndProc(Message& m)
       at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    
    
    ************** Loaded Assemblies **************
    mscorlib
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    JSBuilder
        Assembly Version: 1.1.2.0
        Win32 Version: 1.1.2.0
        CodeBase: file:///C:/Program%20Files/JS%20Builder/JSBuilder.exe
    ----------------------------------------
    JSBLib
        Assembly Version: 1.1.0.0
        Win32 Version: 1.1.0.0
        CodeBase: file:///C:/Program%20Files/JS%20Builder/JSBLib.DLL
    ----------------------------------------
    System.Windows.Forms
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Data
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
    ----------------------------------------
    System.Xml
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Configuration
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    w5ak5dmi
        Assembly Version: 1.1.0.0
        Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    
    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.
    
    For example:
    
    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
    
    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  8. #8
    Sencha User
    Join Date
    Jun 2007
    Posts
    125
    Vote Rating
    1
    bhaidaya is on a distinguished road

      0