Strange application behaviour after try to sort datagrid column

Hi all
I have a simple Air desktop application with customized DataGrid (Spark version). Problem that users found is when they trying to sort grid by one of the columns applicaiton closes without any messages. I've repeated this bug on my PC but there is a problem - in debug mode (i mean with ADL) it works OK without any tries to crash on sort. So my questions in priority order:
1. Is that possible to obtain live Air application errors log? I mean after installation. Maybe with 3rd party applicaiton. I'm using MonsterDebugger and added few log messages but looks like application just crashes without firing closing or close event.
2. Which part of DataGrid could crash applicaiton in release mode? Just thought debug mode is more strict.
My dev system:
Flash Builder 4.6
Adobe Air 3.2
Win 7 Ultimate 64bit
Best regards, Roman
P.S. Sorry for my bad english

Based on your idea, i've intercepted the click event and I use stopImmediatePropagation.
THen i added an image to sort the column. So if the image is clicked the sort is ok.

Similar Messages

  • How not to sort datagrid column on double click

    Hello,
    I am currently building an application containing a datagrid for data representation. I've created a custom datagridheader in order to add a input text for filtering the columns (see code below).
    My goal is to hide the textinput, and then show it on a double click on the header. So i would like to know how to avoid the sort of this column each time i double click.?
    <?xml version="1.0" encoding="utf-8"?>
    <s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
                        xmlns:s="library://ns.adobe.com/flex/spark"
                        xmlns:mx="library://ns.adobe.com/flex/mx" resize="onColumnResize(event)" clipAndEnableScrolling="true" doubleClick="managefilterField(event)">
        <fx:Declarations>
            <!--- The default value of the <code>sortIndicator</code> property.
            It must be an IFactory for an IVisualElement.       
            <p>This value is specified in a <code>fx:Declaration</code> block and can be overridden
            by a declaration with <code>id="defaultSortIndicator"</code>
            in an MXML subclass.</p>
            @langversion 3.0
            @playerversion Flash 10
            @playerversion AIR 2.0
            @productversion Flex 4.5
            -->
            <fx:Component id="defaultSortIndicator">
                <s:Path data="M 3.5 7.0 L 0.0 0.0 L 7.0 0.0 L 3.5 7.0" implements="spark.components.gridClasses.IGridVisualElement">
                    <fx:Script>
                        <![CDATA[
                            import spark.components.DataGrid;
                            import spark.components.Grid;
                             *  @private
                            public function prepareGridVisualElement(grid:Grid, rowIndex:int, columnIndex:int):void
                                const dataGrid:DataGrid = grid.dataGrid;
                                if (!dataGrid)
                                    return;
                                const color:uint = dataGrid.getStyle("symbolColor");
                                arrowFill1.color = color;
                                arrowFill2.color = color;
                        ]]>
                    </fx:Script>
                    <s:fill>
                        <s:RadialGradient rotation="90" focalPointRatio="1">   
                            <!--- @private -->
                            <s:GradientEntry id="arrowFill1" color="0" alpha="0.6" />
                            <!--- @private -->
                            <s:GradientEntry id="arrowFill2" color="0" alpha="0.8" />
                        </s:RadialGradient>
                    </s:fill>
                </s:Path>
            </fx:Component>
            <!--- Displays the renderer's label property, which is set to the column's <code>headerText</code>.
            It must be an instance of a <code>TextBase</code>, like <code>s:Label</code>.
            <p>This visual element is added to the <code>labelDisplayGroup</code> by the renderer's
            <code>prepare()</code> method.   Any size/location constraints specified by the labelDisplay
            define its location relative to the labelDisplayGroup.</p>
            <p>This value is specified with a <code>fx:Declaration</code> and can be overridden
            by a declaration with <code>id="labelDisplay"</code>
            in an MXML subclass.</p>
            @langversion 3.0
            @playerversion Flash 10
            @playerversion AIR 2.0
            @productversion Flex 4.5
            -->
            <s:Label id="labelDisplay"
                     verticalCenter="1" left="0" right="0" top="0" bottom="0"
                     textAlign="start"
                     fontWeight="bold"
                     verticalAlign="middle"
                     maxDisplayedLines="1"
                     showTruncationTip="true" />
        </fx:Declarations>
        <fx:Script>
            <![CDATA[
                import net.awl.ismp.console.components.misc.FilterCriteria;
                import net.awl.ismp.console.events.ColumnFilteredEvent;
                import net.awl.ismp.console.events.ColumnResizedEvent;
                import mx.events.ResizeEvent;
                import spark.components.gridClasses.IGridVisualElement;
                import mx.core.IVisualElement;
                import spark.components.DataGrid;
                import spark.components.GridColumnHeaderGroup;
                import spark.components.gridClasses.GridColumn;
                import spark.primitives.supportClasses.GraphicElement;
                // chrome color constants and variables
                private static const DEFAULT_COLOR_VALUE:uint = 0xCC;
                private static const DEFAULT_COLOR:uint = 0xCCCCCC;
                private static const DEFAULT_SYMBOL_COLOR:uint = 0x000000;
                private static var colorTransform:ColorTransform = new ColorTransform();
                 *  @private
                private function dispatchChangeEvent(type:String):void
                    if (hasEventListener(type))
                        dispatchEvent(new Event(type));                   
                protected function onColumnResize(event:ResizeEvent):void
                    dispatchEvent(new ColumnResizedEvent(ColumnResizedEvent.COLUMNRESIZED_EVT,this.width,this.column.columnInde x));
                //  maxDisplayedLines
                private var _maxDisplayedLines:int = 1;
                [Bindable("maxDisplayedLinesChanged")]
                [Inspectable(minValue="-1")]
                 *  The value of this property is used to initialize the
                 *  <code>maxDisplayedLines</code> property of this renderer's
                 *  <code>labelDisplay</code> element.
                 *  @copy spark.components.supportClasses.TextBase#maxDisplayedLines
                 *  @default 1
                 *  @langversion 3.0
                 *  @playerversion Flash 10
                 *  @playerversion AIR 1.5
                 *  @productversion Flex 4.5
                public function get maxDisplayedLines():int
                    return _maxDisplayedLines;
                override protected function stateChanged(oldState:String, newState:String, recursive:Boolean):void
                    trace("state changed from : "+oldState+" to "+newState);
                    super.stateChanged(oldState, newState, recursive);
                 *  @private
                public function set maxDisplayedLines(value:int):void
                    if (value == _maxDisplayedLines)
                        return;
                    _maxDisplayedLines = value;
                    if (labelDisplay)
                        labelDisplay.maxDisplayedLines = value;
                    invalidateSize();
                    invalidateDisplayList();
                    dispatchChangeEvent("maxDisplayedLinesChanged");
                //  sortIndicator
                private var _sortIndicator:IFactory;
                private var sortIndicatorInstance:IVisualElement;
                [Bindable("sortIndicatorChanged")]
                 *  A visual element that's displayed when the column is sorted.
                 *  <p>The sortIndicator visual element is added to the <code>sortIndicatorGroup</code>
                 *  by this renderer's <code>prepare()</code> method.  Any size/location constraints
                 *  specified by the sortIndicator define its location relative to the sortIndicatorGroup.</p>
                 *  @default null
                 *  @langversion 3.0
                 *  @playerversion Flash 10
                 *  @playerversion AIR 1.5
                 *  @productversion Flex 4.5
                public function get sortIndicator():IFactory
                    return (_sortIndicator) ? _sortIndicator : defaultSortIndicator;
                 *  @private
                public function set sortIndicator(value:IFactory):void
                    trace("setSortIndicator");
                    if (_sortIndicator == value)
                        return;
                    _sortIndicator = value;
                    if (sortIndicatorInstance)
                        sortIndicatorGroup.includeInLayout = false;
                        sortIndicatorGroup.removeElement(sortIndicatorInstance);
                        sortIndicatorInstance = null;
                    invalidateDisplayList();
                    dispatchChangeEvent("sortIndicatorChanged");
                 *  @private
                 *  Create and add the sortIndicator to the sortIndicatorGroup and the
                 *  labelDisplay into the labelDisplayGroup.
                override public function prepare(hasBeenRecycled:Boolean):void
                    trace("prepare !!");
                    super.prepare(hasBeenRecycled);
                    if (labelDisplay && labelDisplayGroup && (labelDisplay.parent != labelDisplayGroup))
                        labelDisplayGroup.removeAllElements();
                        labelDisplayGroup.addElement(labelDisplay);
                    trace(sortIndicator);
                    trace("sortIndicatorInstance : "+sortIndicatorInstance);
                    const column:GridColumn = this.column;
                    if (sortIndicator && column && column.grid && column.grid.dataGrid && column.grid.dataGrid.columnHeaderGroup)
                        const dataGrid:DataGrid = column.grid.dataGrid;
                        const columnHeaderGroup:GridColumnHeaderGroup = dataGrid.columnHeaderGroup;
                        if (columnHeaderGroup.isSortIndicatorVisible(column.columnIndex))
                            if (!sortIndicatorInstance)
                                sortIndicatorInstance = sortIndicator.newInstance();
                                sortIndicatorGroup.addElement(sortIndicatorInstance);
                                chromeColorChanged = true;
                                invalidateDisplayList();
                            // Initialize sortIndicator
                            sortIndicatorInstance.visible = true;
                            const gridVisualElement:IGridVisualElement = sortIndicatorInstance as IGridVisualElement;
                            if (gridVisualElement)
                                gridVisualElement.prepareGridVisualElement(column.grid, -1, column.columnIndex);
                            sortIndicatorGroup.includeInLayout = true;
                            sortIndicatorGroup.scaleY = (column.sortDescending) ? 1 : -1;
                        else
                            if (sortIndicatorInstance)
                                sortIndicatorGroup.removeElement(sortIndicatorInstance);
                                sortIndicatorGroup.includeInLayout = false;
                                sortIndicatorInstance = null;
                private var chromeColorChanged:Boolean = false;
                private var colorized:Boolean = false;
                 *  @private
                 *  Apply chromeColor style.
                override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
                    //trace("update display list");
                    // Apply chrome color
                    if (chromeColorChanged)
                        var chromeColor:uint = getStyle("chromeColor");
                        if (chromeColor != DEFAULT_COLOR || colorized)
                            colorTransform.redOffset = ((chromeColor & (0xFF << 16)) >> 16) - DEFAULT_COLOR_VALUE;
                            colorTransform.greenOffset = ((chromeColor & (0xFF << 8)) >> 8) - DEFAULT_COLOR_VALUE;
                            colorTransform.blueOffset = (chromeColor & 0xFF) - DEFAULT_COLOR_VALUE;
                            colorTransform.alphaMultiplier = alpha;
                            transform.colorTransform = colorTransform;
                            var exclusions:Array = [labelDisplay, sortIndicatorInstance];
                            // Apply inverse colorizing to exclusions
                            if (exclusions && exclusions.length > 0)
                                colorTransform.redOffset = -colorTransform.redOffset;
                                colorTransform.greenOffset = -colorTransform.greenOffset;
                                colorTransform.blueOffset = -colorTransform.blueOffset;
                                for (var i:int = 0; i < exclusions.length; i++)
                                    var exclusionObject:Object = exclusions[i];
                                    if (exclusionObject &&
                                        (exclusionObject is DisplayObject ||
                                            exclusionObject is GraphicElement))
                                        colorTransform.alphaMultiplier = exclusionObject.alpha;
                                        exclusionObject.transform.colorTransform = colorTransform;
                            colorized = true;
                        chromeColorChanged = false;
                    super.updateDisplayList(unscaledWidth, unscaledHeight);
                 *  @private
                override public function styleChanged(styleProp:String):void
                    var allStyles:Boolean = !styleProp || styleProp == "styleName";
                    super.styleChanged(styleProp);
                    if (allStyles || styleProp == "chromeColor")
                        chromeColorChanged = true;
                        invalidateDisplayList();
                protected function managefilterField(event:MouseEvent):void
                    trace("double click sortIndicator : "+this.sortIndicatorInstance);
                    this.filterInput.visible=!this.filterInput.visible;
                    this.filterInput.includeInLayout=this.filterInput.visible;
                    this.filterSpacer.visible=this.filterInput.visible;
                    this.filterSpacer.includeInLayout=this.filterInput.visible;
                    if(!this.filterInput.visible)
                        this.filterInput.text="";
                        dispatchEvent(new ColumnFilteredEvent(ColumnFilteredEvent.COLUMNFILTERED_EVT,new FilterCriteria(this.column.dataField,this.filterInput.text)));
                    this.filterInput.setStyle("borderColor",0xFF6319);
                    this.filterInput.setStyle("focusColor",0xFF6319);
                    //this.filterInput.setStyle(
                protected function onTextInputSelection(event:MouseEvent):void
                    event.stopImmediatePropagation();
                    this.filterInput.setStyle("borderColor",0xFF6319);
                    this.filterInput.setStyle("focusColor",0xFF6319);
                protected function onKeyUp(event:KeyboardEvent):void
                    if(event.charCode==Keyboard.ENTER)
                        stage.focus=null;
                protected function onFocusOut(event:FocusEvent):void
                    this.filterInput.setStyle("borderColor",0x00ff00);
                    this.filterInput.setStyle("focusColor",0x70B2EE);
                    dispatchEvent(new ColumnFilteredEvent(ColumnFilteredEvent.COLUMNFILTERED_EVT,new FilterCriteria(this.column.dataField,this.filterInput.text)));
            ]]>
        </fx:Script>
        <s:states>
            <s:State name="normal" />
            <s:State name="hovered" />
            <s:State name="down" />
        </s:states>     
        <!-- layer 1: shadow -->
        <!--- @private -->
        <s:Rect id="shadow" left="-1" right="-1" top="-1" bottom="-1" radiusX="2">
            <s:fill>
                <s:LinearGradient rotation="90">
                    <s:GradientEntry color="0x000000"
                                     color.down="0xFFFFFF"
                                     alpha="0.01"
                                     alpha.down="0" />
                    <s:GradientEntry color="0x000000"
                                     color.down="0xFFFFFF"
                                     alpha="0.07"
                                     alpha.down="0.5" />
                </s:LinearGradient>
            </s:fill>
        </s:Rect>
        <!-- layer 2: fill -->
        <!--- @private -->
        <s:Rect id="fill" left="0" right="0" top="0" bottom="0">
            <s:fill>
                <s:LinearGradient rotation="90">
                    <s:GradientEntry color="0xFFFFFF"
                                     color.hovered="0xBBBDBD"
                                     color.down="0xAAAAAA"
                                     alpha="0.85" />
                    <s:GradientEntry color="0xD8D8D8"
                                     color.hovered="0x9FA0A1"
                                     color.down="0x929496"
                                     alpha="0.85" />
                </s:LinearGradient>
            </s:fill>
        </s:Rect>
        <!-- layer 3: fill lowlight -->
        <!--- @private -->
        <s:Rect id="lowlight" left="0" right="0" top="0" bottom="0">
            <s:fill>
                <s:LinearGradient rotation="270">
                    <s:GradientEntry color="0x000000" ratio="0.0" alpha="0.0627" />
                    <s:GradientEntry color="0x000000" ratio="0.48" alpha="0.0099" />
                    <s:GradientEntry color="0x000000" ratio="0.48001" alpha="0" />
                </s:LinearGradient>
            </s:fill>
        </s:Rect>
        <!-- layer 4: fill highlight -->
        <!--- @private -->
        <s:Rect id="highlight" left="0" right="0" top="0" bottom="0">
            <s:fill>
                <s:LinearGradient rotation="90">
                    <s:GradientEntry color="0xFFFFFF"
                                     ratio="0.0"
                                     alpha="0.33"
                                     alpha.hovered="0.22"
                                     alpha.down="0.12"/>
                    <s:GradientEntry color="0xFFFFFF"
                                     ratio="0.48"
                                     alpha="0.33"
                                     alpha.hovered="0.22"
                                     alpha.down="0.12" />
                    <s:GradientEntry color="0xFFFFFF"
                                     ratio="0.48001"
                                     alpha="0" />
                </s:LinearGradient>
            </s:fill>
        </s:Rect> 
        <!-- layer 5: highlight stroke (all states except down) -->
        <!--- @private -->
        <s:Rect id="highlightStroke" left="0" right="0" top="0" bottom="0" excludeFrom="down">
            <s:stroke>
                <s:LinearGradientStroke rotation="90" weight="1">
                    <s:GradientEntry color="0xFFFFFF" alpha.hovered="0.22" />
                    <s:GradientEntry color="0xD8D8D8" alpha.hovered="0.22" />
                </s:LinearGradientStroke>
            </s:stroke>
        </s:Rect>
        <!-- layer 6: highlight stroke (down state only) -->
        <!--- @private -->
        <s:Rect id="hldownstroke1" left="0" right="0" top="0" bottom="0" includeIn="down">
            <s:stroke>
                <s:LinearGradientStroke rotation="90" weight="1">
                    <s:GradientEntry color="0x000000" alpha="0.25" ratio="0.0" />
                    <s:GradientEntry color="0x000000" alpha="0.25" ratio="0.001" />
                    <s:GradientEntry color="0x000000" alpha="0.07" ratio="0.0011" />
                    <s:GradientEntry color="0x000000" alpha="0.07" ratio="0.965" />
                    <s:GradientEntry color="0x000000" alpha="0.00" ratio="0.9651" />
                </s:LinearGradientStroke>
            </s:stroke>
        </s:Rect>
        <!--- @private -->
        <s:Rect id="hldownstroke2" left="1" right="1" top="1" bottom="1" includeIn="down">
            <s:stroke>
                <s:LinearGradientStroke rotation="90" weight="1">
                    <s:GradientEntry color="0x000000" alpha="0.09" ratio="0.0" />
                    <s:GradientEntry color="0x000000" alpha="0.00" ratio="0.0001" />
                </s:LinearGradientStroke>
            </s:stroke>
        </s:Rect>
        <!--<s:Rect id="fill" left="0" right="0" top="0" bottom="0">
            <s:fill>
                <s:LinearGradient rotation="90">
                    <s:GradientEntry color.normal="0xf9f9f9" color.hovered="0xfcfdfa"
                                     color.down="0xdceac2" alpha="0.85" />
                    <s:GradientEntry color.normal="0xeaeaea" color.hovered="0xdceac2"
                                     color.down="0xd2e1b5" alpha="0.85" />
                </s:LinearGradient>
            </s:fill>
        </s:Rect>-->
        <!--<s:VGroup left="7" right="7" top="5" bottom="5" gap="6" verticalAlign="middle">
            <s:TextInput width="100%" />
            <s:HGroup width="100%">
                <s:Group id="labelDisplayGroup" width="100%" />
                <s:Group id="sortIndicatorGroup" includeInLayout="false" />
            </s:HGroup>
        </s:VGroup>-->
        <s:VGroup verticalAlign="middle" left="7" top="5" right="7" bottom="5" gap="2" >
            <s:TextInput id="filterInput" width="100%" visible="false" includeInLayout="false" keyUp="onKeyUp(event)" focusOut="onFocusOut(event)" click="onTextInputSelection(event)"/>
            <s:Spacer id="filterSpacer" visible="false" includeInLayout="false" height="5" />
        <s:HGroup width="100%" height="100%" verticalAlign="middle">
            <s:Group id="labelDisplayGroup" width="100%" />
            <s:Group id="sortIndicatorGroup" includeInLayout="false" />
        </s:HGroup>
        </s:VGroup>
    </s:GridItemRenderer>

    Based on your idea, i've intercepted the click event and I use stopImmediatePropagation.
    THen i added an image to sort the column. So if the image is clicked the sort is ok.

  • Sort datagrid column in groupby

    Hai
      can any one help to sort the advanced datagrid column in ascending
      by default the values will be in groupby format..
      how to sort in groupby...
    Thanks in Advance

    Hai
      can any one help to sort the advanced datagrid column in ascending
      by default the values will be in groupby format..
      how to sort in groupby...
    Thanks in Advance

  • Strange Application Issues after Mountain Lion Upgrade!

    I'm having, what I believe to be, strange issues with a clean install of Mountain Lion from 10.6.8
    It's for my boss' computer at work so I can't afford to have it down for very long at a time. It's hard to pinpoint the issue(s).
    Computer:
    Mac Pro - Early 2009
    OS X 10.8.3
    2 x 2.6 GHz Quad-Core Intel Xeon
    32 GB 1066 MHz DDR3
    The startup disk is 4x2TB RAID 5 using Apple RAID card (Firmware version: E-1.3.2.0; Hardware Revision: 2.00; Driver version: 124
    The following is what happened/is happening:
    1. (Tuesday)
    Created a bootable backup of system drive using Disk Utility
    Performed a Clean install
    Used migration assistant to copy over applications from backup
    Downloaded (from Amazon) and installed Microsoft Office 2011
    Imported Addresses (including imported Previous Recipients that were imported into Contacts before exporting on old system)
    Setup email & copied over mailboxes from backup
    Moved all files back onto the system (User folders)
    Everything worked fine from Wednesday - Sunday.
    Problems reported to me (Sunday)
    "Chinese characters" on save dialogue box in Microsoft Excel
    Mail crashed while dragging a photo from safari to it
    After a restart, Mail, all Microsoft Office apps, and Final Cut Pro wouldn't open.
    Tried to reset preference files, but nothing worked.
    2. (Monday night)
    Performed another Clean Install
    Migrated Applications
    Transferred mailboxes (not old emails at this time)
    Imported same group of addresses as before into Contacts
    Installed Microsoft Office
    Moved user data back
    Transferred old email mailboxes (Tuesday afternoon)
    Everything worked fine Tuesday - Thursday early morning)
    Problems reported to me (Thursday morning)
    When typing in an email address to send an email, it didn't autofill. Mail crashed.
    Mail wouldn't open. Different from last, this time it said the ~/Library/Mail folder was moved. I checked and the folder was there with everything in it fine.
    The Microsoft applications that were open at the time of the Mail crash still worked, but others wouldn't open. After closing the open applications then they wouldn't open back up (same as before)
    Final Cut Pro opened fine.
    Fixed Mail by deleting the ~/Library/Containers/com.apple.mail folder.
    Later found out that though Final Cut would open it would crash when loading a project and that Quicklook wouldn't work for quicktime files across the network & codecs were missing (this could have been cause by me when trying to test problems).
    3. (Sunday)
    Restored from a different bootable backup I made after 2nd clean install and migrated applications.
    Repaired Permissions using Disk Utility
    Moved over Mail data
    Copied over user data
    *Didn't import the addresses
    Checked to make sure all the fonts were validated and no duplicates
    Everything worked fine after install and through Monday.
    Problems to me (Tuesday morning)
    Microsoft Office disappeared completely from the computer. No folder in Applications or dock icons.
    Slower to connect to network files
    Re-installed Microsoft Office to keep work progress going.
    What would be causing this peculiarity? It works after I fix it and for a little afterwards but then strange things happen.
    Would repairing disk permissions on bootable backup (of 10.6.8) before using migration assistant help?
    What is the best way to track down what is causing these issues?
    Thanks!

    I suggest that the best way to upgrade from 10.6.8 to Mountain Lion is one of the following:
    (1) Simply perform an upgrade install. This is in fact Apple's recommended approach. I am not sure why you have not yet tried that. I have done this myself successfully.
    (2) Make a backup of the working 10.6.8 system; better yet is to make two complete backups, one being a "clone," the other being a Time Machine backup. Use of two different methods gives you options should something go wrong. Then erase the original disk and install Mountain Lion, and on the first boot up run Setup Assistant (which is better than Migration Assistant) and transfer over EVERYTHING, including user accounts, settings, applications. I have also used this approach, also successfully.
    You did neither (1) nor (2), but seem to have done some sort of hybrid by transfering applications and then manually moving over some mail files and moving over some user files. I don't think this is a recommended approach. It can result in permissions issues, which can cause things to "disappear" or otherwise behavior oddly.
    I do not understand how your use of a RAID setup and a RAID card might affect any procedures which otherwise might work smoothly. Are you 100% certain that your RAID hardware and firmware are compatible with Mountain Lion?
    Assuming that the RAID is not the issue and it behaves to the OS just like a normal disk, I would try the full disk erase and install of Mountain Lion followed by a Setup Assistant on first boot up to move over everything from your clone backup.
    If this does not work, then I would erase and restore back from your clone, so you get your 10.6.8 system working again. Then I would try a simple upgrade install of Mountain Lion.
    If that fails, then I would erase and install Mountain Lion with one new administrative user created who has a different user name than the person whose stuff you need to restore. Then with that new administrative user I would make sure the RAID is all up and running. Then I would use Migration Assistant to migrate over users only and would reinstall all software from scratch. If that is not to your liking, I'd as a less desirable alternative use Migration Assistant to migrate over everything, applications and users. You will have that new, extra administrative user as well as the original user(s), but that should cause no harm.

  • Tecra 8000: Strange keyboard behaviour after reassembling

    Hi,
    after reassembling the single keys to my keyboard from Tecra 8000 the keys have a strange behaviour. For example if i press the key 2 the display shows '82' or 'q'. if i hold the key longer, the display shows '2222222222222....', the right sign for the key.
    Do you knwo, what i can do?
    i had to reassemble the key because my little niece took all the keys off.
    thanks for your answer,
    Butch

    Hi
    I agree with Daniel. There is some technical problem and only thing you can do is try to clean the contacts. If there is no success you should replace the keyboard. This unit is older one and I am pretty sure that you can find a cheap used keyboard.
    Bye

  • Strange sleeping behaviour after update to 10.8.5

    I've updated my iMac to 10.8.5, and now when I put it to sleep, turning off my bluetooth trackpad or keyboard wakes it up again.
    It's set not to wake for Network events in System Preferences, and I can't see anything else to try.
    Anyone have any ideas please?
    Thanks
    Steve

    Incorrect date or time displayed in various applications

  • Changing dataGrid column width with actionScript

    Having a strange change when trying to change any dataGrid column width with this code:
    dataGrid.columns[ 5 ].width = 200;
    It do changes the width of column number 6 to 200, but strangely it's also changes the width of the preceding columns (0-4). Every preceding column automatically increases a little bit than its' existing width without having me any idea.
    Any idea anyone have!
    Thanks..!
    SK

    Hi,
    See if this thread helps:
    http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?catid=585&threadid=1237299
    Cheree

  • Strange behaviour after querying a friendly device name

    Hi,
    I have observed some very strange behaviour after querying the friendly name of an audio capturing device. This is my code:
    #include "stdafx.h"
    #include <mmdeviceapi.h>
    #include <Functiondiscoverykeys_devpkey.h>
    int main(int argc, char *argv[]) {
        HRESULT hr = CoInitializeEx(0, COINIT_APARTMENTTHREADED);
        if(FAILED(hr)) throw;
        IMMDeviceEnumerator *pIMMDeviceEnumerator = 0;
        hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), 0, CLSCTX_INPROC_SERVER, __uuidof(IMMDeviceEnumerator), (LPVOID *) &pIMMDeviceEnumerator);
        if(FAILED(hr)) throw;
        IMMDeviceCollection *pIDeviceCollection = 0;
        hr = pIMMDeviceEnumerator->EnumAudioEndpoints(eCapture, DEVICE_STATE_ACTIVE, &pIDeviceCollection);
        if(FAILED(hr)) throw;
        IMMDevice *pIMMDevice = 0;
        hr = pIDeviceCollection->Item(0, &pIMMDevice);
        if(FAILED(hr)) throw;
        IPropertyStore *pIPropertyStore = 0;
        hr = pIMMDevice->OpenPropertyStore(STGM_READ, &pIPropertyStore);
        if(FAILED(hr)) throw;
        PROPVARIANT propVariant;
        PropVariantInit(&propVariant);
        pIPropertyStore->GetValue(PKEY_Device_FriendlyName, &propVariant);
        PropVariantClear(&propVariant);
        pIPropertyStore->Release();
        pIMMDevice->Release();
        pIDeviceCollection->Release();
        pIMMDeviceEnumerator->Release();
        CoUninitialize();
        return -1;
    Please ignore the strange error handling, it's just to make the example code short.
    The problem is the return value (as can be seen in the output window of Visual Studio after running the program or using "echo %errorlevel%" in cmd.exe). Certainly, one would expect to get -1. However, I get 0 instead of -1. What makes this
    really strange is that -1 is properly returned when the line "pIPropertyStore->GetValue..." is commented out. Why does this have any effect on the return value of the process? I have observed this on two different Window 7 machines with different
    soundcard configurations. However, I did another test on a Windows 8.1 machine, where everything worked correctly.
    Can anyone explain what's going on here?
    Thanks,
    Holger

    OK, here's what's going on.
    Everything goes fine until main() exits.
    At that point, mmdevapi.dll's DllMain is called with lpReserved set to a non-NULL value, which is to say, "don't bother to clean up."
    mmdevapi.dll decides to clean up anyway (for shame) and calls into some SetupAPI.dll functions.
    SetupAPI.dll is waiting on a critical section, but at that point ntdll.dll kicks in and says "you know what, the process is shutting down, and this is the last thread, so I can guarantee you this critical section will never be set." ntdll.dll then
    terminates the process, and main()'s exit code is lost.
    Matthew van Eerde

  • Strange memory behaviour using the System.Collections.Hashtable in object reference

    Dear all,
    Recently I came across a strange memory behaviour when comparing the system.collections.hashtable versus de scripting.dictionary object and thought to analyse it a bit in depth. First I thought I incorrectly destroyed references to the class and
    child classes but even when properly destroying them (and even implemented a "SafeObject" with deallocate method) I kept seeing strange memory behaviour.
    Hope this will help others when facing strange memory usage BUT I dont have a solution to the problem (yet) suggestions are welcome.
    Setting:
    I have a parent class that stores data in child classes through the use of a dictionary object. I want to store many differenct items in memory and fetching or alteging them must be as efficient as possible using the dictionary ability of retrieving key
    / value pairs. When the child class (which I store in the dictionary as value) contains another dictionary object memory handeling is as expected where all used memory is release upon the objects leaving scope (or destroyed via code). When I use a system.collection.hashtable
    no memory is released at all though apears to have some internal flag that marks it as useable for another system.collection.hashtable object.
    I created a small test snippet of code to test this behaviour with (running excel from the Office Plus 2010 version) The snippet contains a module to instantiate the parent class and child classes that will contain the data. One sub will test the Hash functionality
    and the other sub will test the dictionary functionality.
    Module1
    Option Explicit
    Sub testHash()
    Dim Parent As parent_class
    Dim d_Count As Double
    'Instantiate parent class
    Set Parent = New parent_class
    'Create a child using the hash collection object
    Parent.AddChildHash "TEST_hash"
    Dim d_CycleCount As Double
    d_CycleCount = 50000
    'Add dummy data records to the child container with x amount of data For d_Count = 0 To d_CycleCount
    Parent.ChildContainer("TEST_hash").InsertDataToHash CStr(d_Count), "dummy data"
    Next
    'Killing the parent when it goes out of scope should kill the childs. (Try it out and watch for the termination debug messages)
    'According to documentation and debug messages not really required!
    Set Parent.ChildContainer("TEST_hash") = Nothing
    'According to documentation not really as we are leaving scope but just to be consistent.. kill the parent!
    Set Parent = Nothing
    End Sub
    Sub testDict()
    Dim Parent As parent_class
    Dim d_Count As Double
    'Instantiate parent class
    Set Parent = New parent_class
    'Create a child using the dictionary object
    Parent.AddChildDict "TEST_dict"
    Dim d_CycleCount As Double
    d_CycleCount = 50000
    'Blow up the memory with x amount of records
    Dim s_SheetCycleCount As String
    s_SheetCycleCount = ThisWorkbook.Worksheets("ButtonSheet").Range("K2").Value
    If IsNumeric(s_SheetCycleCount) Then d_CycleCount = CDbl(s_SheetCycleCount)
    'Add dummy data records to the child container
    For d_Count = 0 To d_CycleCount
    Parent.ChildContainer("TEST_dict").InsertDataToDict CStr(d_Count), "dummy data"
    Next
    'Killing the parent when it goes out of scope should kill the childs. (Try it out and watch for the termination debug messages)
    'According to documentation and debug messages not really required!
    Set Parent.ChildContainer("TEST_dict") = Nothing
    'According to documentation not really as we are leaving scope but just to be consistent.. kill the parent!
    Set Parent = Nothing
    End Sub
    parent_class:
    Option Explicit
    Public ChildContainer As Object
    Private Counter As Double
    Private Sub Class_Initialize()
    Debug.Print "Parent initialized"
    Set ChildContainer = CreateObject("Scripting.dictionary")
    End Sub
    Public Sub AddChildHash(ByRef ChildKey As String)
    If Not ChildContainer.Exists(ChildKey) Then
    Dim TmpChild As child_class_hashtable
    Set TmpChild = New child_class_hashtable
    ChildContainer.Add ChildKey, TmpChild
    Counter = Counter + 1
    Set TmpChild = Nothing
    End If
    End Sub
    Public Sub AddChildDict(ByRef ChildKey As String)
    If Not ChildContainer.Exists(ChildKey) Then
    Dim TmpChild As child_class_dict
    Set TmpChild = New child_class_dict
    ChildContainer.Add ChildKey, TmpChild
    Counter = Counter + 1
    Set TmpChild = Nothing
    End If
    End Sub
    Private Sub Class_Terminate()
    Debug.Print "Parent being killed, first kill all childs (if there are any left!) - muahaha"
    Set ChildContainer = Nothing
    Debug.Print "Parent killed"
    End Sub
    child_class_dict
    Option Explicit
    Public MemmoryLeakObject As Object
    Private Sub Class_Initialize()
    Debug.Print "Child using Scripting.Dictionary initialized"
    Set MemmoryLeakObject = CreateObject("Scripting.Dictionary")
    End Sub
    Public Sub InsertDataToDict(ByRef KeyValue As String, ByRef DataValue As String)
    If Not MemmoryLeakObject.Exists(KeyValue) Then MemmoryLeakObject.Add KeyValue, DataValue
    End Sub
    Private Sub Class_Terminate()
    Debug.Print "Child using Scripting.Dictionary terminated"
    Set MemmoryLeakObject = Nothing
    End Sub
    child_class_hash:
    Option Explicit
    Public MemmoryLeakObject As Object
    Private Sub Class_Initialize()
    Debug.Print "Child using System.Collections.Hashtable initialized"
    Set MemmoryLeakObject = CreateObject("System.Collections.Hashtable")
    End Sub
    Public Sub InsertDataToHash(ByRef KeyValue As String, ByRef DataValue As String)
    If Not MemmoryLeakObject.ContainsKey(KeyValue) Then MemmoryLeakObject.Add KeyValue, DataValue
    End Sub
    Private Sub Class_Terminate()
    Debug.Print "Child using System.Collections.Hashtable terminated"
    Set MemmoryLeakObject = Nothing
    End Sub
    Statistics:
    TEST: (Chronologically ordered)
    1.1 Excel starting memory: 25.324 kb approximately
    Max memory usage after hash (500.000 records) 84.352 kb approximately
    Memory released: 0 %
    1.2 max memory usages after 2nd consequtive hash usage 81.616 kb approximately
    "observation:
    - memory is released then reused
    - less max memory consumed"
    1.3 max memory usages after 3rd consequtive hash usage 80.000 kb approximately
    "observation:
    - memory is released then reused
    - less max memory consumed"
    1.4 Running the dictionary procedure after any of the hash runs will start from the already allocated memory
    In this case from 80000 kb to 147000 kb
    Close excel, free up memory and restart excel
    2.1 Excel starting memory: 25.324 kb approximately
    Max memory usage after dict (500.000 records) 90.000 kb approximately
    Memory released: 91,9%
    2.2 Excel starting memory 2nd consequtive dict run: 27.552 kb approximately
    Max memory usage after dict (500.000 records) 90.000 kb approximately
    Memory released: 99,4%
    2.3 Excel starting memory 3rd consequtive dict run: 27.712 kb approximately
    Max memory usage after dict (500.000 records) 90.000 kb approximately
    Memory released:

    Hi Cor,
    Thank you for going through my post and took the time to reply :) Most apreciated. The issue I am facing is that the memory is not reallocated when using mixed object types and is not behaving the same. I not understand that .net versus the older methods
    use memory allocation differently and perhaps using the .net dictionary object (in stead of the scripting.dictionary) may lead to similar behaviour. {Curious to find that out -> put to the to do list of interesting thingies to explore}
    I agree that allocated memory is not a bad thing as the blocks are already assigned to the program and therefore should be reallocated with more performance. However the dictionary object versus hashtable perform almost identical (and sometimes even favor
    the dictionary object)
    The hashtable is clearly the winner when dealing with small sets of data.
    The issue arises when I am using the hash table in conjunction with another type, for example a dictionary, I see that the dictionary object's memory is stacked on top of the claimed memory space of the hashtable. It appears that .net memory allocation and
    reuse is for .net references only. :) (Or so it seems)
    In another example I got with the similar setup, I see that the total used memory is never released or reclaimed and leakage of around 20% allocated memory remains to eventually crash the system with the out of memory message. (This is when another class
    calls the parent class that instantiates the child class but thats not the point of the question at hand)
    This leakage drove me to investigate and create the example of this post in the first place. For the solution with the class -> parent class -> child class memory leak I switched all to dictionaries and no leakage occurs anymore but nevertheless thought
    it may be good to share / ask if anyone else knows more :D (Never to old to learn something new)

  • Strange Client Behavior after upgrading to 10g

    Hello Friends !!!!
    Here is my scenario:
    Oracle Database 10g 10.2.0.3
    Windows 2008 Server SP2
    After upgrading from oracle 9.2.0.1.0 and Windows 2003 Server I'm facing a strange behavior.
    Many times over the days some machines do not release some table resources even having their status "INACTIVE" and the wait event "SQL *Net message from client" and wait class "IDLE".
    Therefore, i got a lot of locked sessions, and users complaining..... until I kill them
    The client machine was as well switched to Oracle 10g client....
    Have you guys got any tips about this scenario?
    Tks for any advice.

    About the lock queue:
    1. blocking session has an exclusive table lock on VENDEDORES table; this is very rare in application because most of the time not needed: application code should try to avoid to take such kind of lock.
    2. blocked sessions request a row share table lock: it looks like that VENDEDORES table is a child table linked to some parent table with a foreign key constraint and that an index on the child table foreign key is missing (this kind of lock is requested if you DELETE from parent table or update parent table primary key).
    About the lock session: this is the blocking session that is waiting since 19 seconds on client: it is likely an application issue: you should try to investigate what the client (aservice.exe) is doing while holding an exclusive table lock.

  • Can we call the Datagrid Column Sort function?

    Is it possible to call the same function within the datagrid
    component that is used when we do an onClick event of the column
    headers? When you click on the column header, it will sort the
    column ascending or descending.
    I would like to call that same process after the datagrid is
    loaded, programmatically. But the same as if the user had clicked
    the column.
    I have looked at examples in the help that sort the
    dataprovider array. But if we are able to do this at runtime with a
    user clicking on the column, it seems that it should be possible
    since the datagrid is doing a sort on the internal dataprovider
    object for the datagrid.
    If it is not available now, this functionality should be
    added.
    Thanks.

    Yes, you can do what you want by setting the data provider's
    "sort" property
    to be an instance of class Sort, and putting one or more
    SortFields inside the
    Sort.
    If you put just a single SortField inside the Sort, then the
    header field will
    have the up/down triangle indicating the results of the sort,
    just as if the
    user had clicked on the column. If you put two or more
    SortFields inside the
    Sort, then there won't be a triangle, because of course it
    wouldn't make sense
    to put on there.
    Here is a small sample:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml">
    <mx:Array id="mydata">
    <mx:Object col1="b" col2="p" col3="z" />
    <mx:Object col1="c" col2="r" col3="y" />
    <mx:Object col1="b" col2="q" col3="x" />
    <mx:Object col1="a" col2="q" col3="x" />
    <mx:Object col1="d" col2="q" col3="x" />
    <mx:Object col1="c" col2="q" col3="x" />
    </mx:Array>
    <mx:ArrayCollection id="mycollection"
    source="{mydata}">
    <mx:sort>
    <mx:Sort>
    <mx:fields>
    <!-- This example has field "col2"
    as its primary sort field, and
    field, and field "col1" as its
    secondary sort field.
    If you remove one of these lines,
    so only a single SortField
    exists, you will see a triangle
    in the header of the sorted
    field in the DataGrid.
    -->
    <mx:SortField name="col2" />
    <mx:SortField name="col1" />
    </mx:fields>
    </mx:Sort>
    </mx:sort>
    </mx:ArrayCollection>
    <mx:DataGrid id="dg" height="474"
    dataProvider="{mycollection}" >
    <mx:columns>
    <mx:DataGridColumn headerText="Column 1"
    dataField="col1"/>
    <mx:DataGridColumn headerText="Column 2"
    dataField="col2"/>
    <mx:DataGridColumn headerText="Column 3"
    dataField="col3"/>
    </mx:columns>
    </mx:DataGrid>
    </mx:Application>
    Mike Morearty
    Developer, Flex Builder team
    http://www.morearty.com/blog

  • Strange JDeveloper behaviour

    I have been using JDeveloper 10.1.2.1 successfully for a while now. Our team has recently upgraded to 10.1.3.2, so I downloaded and upzipped the full Studio version of that application. When I run it (using either "jdeveloper.exe" in the root directory, "jdev.exe", or "jdevW.exe" in the jdev/bin directory), the application loads, but the screen is blank.
    Now comes the Strange/Weird part. If I left click on the blank looking application then right click on the JDeveloper application in the Windows task bar, the application screen becomes visible...but none of the buttons or links are active (if I mouse of "File" for example, nothing happens). If I then open "Paint.Net" (a free photoshop-esc application), the JDeveloper GUI becomes active. But this ONLY happens if I open Paint.Net. I can't find any other application that causes the GUI to become active and responsive. If I then try to test my web application and then stop it, the GUI becomes dead again (requiring me to close and restart Paint.Net to get it working again).
    One other strange thing. After JDeveloper is launched and becomes maximized (after the Oracle loading graphic), my desktop state appears to revert back to its state prior to launching JDeveloper. So, for example, if I had the explorer shell open prior to launching and then minimized it during launch, it would "appear" open again when the launch of JDeveloper is complete. "Appear" is in quotes because it isn't actually maximized...it just appears that way.
    If anybody has any clue how this can be solved, please let me know (as continuously having to open Paint.Net isn't exactly ideal!). I've downloaded the Studio version several different times and have even tried copying a working version from another computer...all with the same result.
    If it would be helpful, I can post a series of screen shots to show what's going on.
    I'm running Windows XP sp2 with a 3.0GHz P4-HyperThreading CPU, 1GB RAM, 256 MB ATI Radeon X550 video. JDKs 1.5.0_05, 1.5.0_12, 1.6.0_01 and JREs 1.5.0_02 up to 1.5.0_12 and 1.6.0_01.
    Thanks,
    Greg.
    Message was edited by:
    DrummerBoyGreg
    I just downloaded the 11g Technical Preview release just to see if it works ok...and it does. It's just the 10.1.3.2 release that doesn't seem to work.

    Sorry, i have found the problem, it is a programming error
    best regards

  • Sourcing 7.0 - Strange Login Behaviour for enterprise user

    Hello
    We have installed SAP Sourcing 7.0 and created one tenant and after that everything was running fine. I have now created another tenant. After this there is a strange login behaviour for enterprise user
    When I go to the ...../fsbuyer/portal URL, it given me a login screen. When I try to login with enterprise user and password as specified in the context, it does not let me login even with a correct password. The error is "User Authentication Failed"
    I just happened to try NW CE Administrator Login, after this the error changed to "Entry does not exist". Here I gave enterprise user and password and it logged into the system. So I now have to login two times once with NW UME User and other with enterprise user to access the setup page.
    However this is the problem only for enteprise user and not for other user accounts that I created. I checked in NW UME, the enterprise user does not exist there. However I can see that other users that I created using "Internal User Accounts" are also created in NW UME.
    Anyone faced this behaviour earlier?
    This also brings out a very interesting point. In Multi-Tenant Setup when using NW UME does this mean that two tenants cannot share the same user account. Is that so?
    Regards,
    Shubham

    Hi Vikram,
    Thanks a ton for your reponse.
    I would like to understand your solution regarding creating another cluster.
    Does this mean I need to install another CE Instance and install sourcing on the same.
    OR
    I have to create an Add-In instance for the current CE Server and define the Host Name of Add-In Instance in the new cluster
    Also in this cluster, which context should I select, System Context or Existing Tenant Context or New Tenant Context.
    Regards,
    Shubham

  • Strange Classpath behaviour in AppServ 8.1

    A tricky thing but give me some headache.
    Recently, I'm trying to use Sun Application Server 8 2005Q1, and i got this strange classpath behaviour.
    here is the problem.
    My application is using some third party jar file. So I have to set up my classpath to this jar files, which is in my instance JVM Setting>Path settings. However, when i am going to deploy it, It returns me with an exception which mean, It can't find those 3rd party jars.
    the strange thing is, if i put the path into server-config, JVM Setting>Path settings. It will deploy happily ever after.
    so any idea why i got this behaviour? and is there any way to do it without disturbing my server-config?
    thanks for your time....
    cheers,

    I have the same problem - no solution. Is there an alternative to print contact sheets in custom order?

  • STRANGE GRAPHICS BEHAVIOUR !!!!

    I've posted this in another forum but didn't get any good help...
    So I hope U guys could help me!
    I made a bit of complex GUI wih a lot of different layoutmanagers and components.
    The problem is that when I open a frame/dialog/optionpane above the GUI it leaves "footprints" on the GUI. The "footprints" is vertical stripes from where the frame/dialog/optionpane where.
    When a minimize my GUI and maximize it again the stripes are gone. It seems like the GUI needs to be updated/repainted or something more often (???)
    I'm thinking about writing a class using a thread to update/repaint the GUI each 10 milliseconds or something. What do you guys think?
    If you post me you're email-address I could send you a pic of the strange GUI behaviour.
    Thanks in advance!!!
    /Andrew

    Hi,
    try this
    everytime ur application regains focus call
    the updateUI() method.
    for this ur application has implement FocusListener interface and write this code in the focusGained method
    this should work
    hope this helps
    Regards,
    Partha

Maybe you are looking for

  • Unable to connect to company - Bad company version

    Hi members, I have a add-on and  on running it the add-on is unable to connect to a particular company. It shows an error named as "Bad Company Version". The add-on however, connects to other company in B1.Anyone please help me in this regard. Thanks

  • How to pick up scan profiles with reinstalled WinXP

    Have saved scan profiles within a scan session HP SJ G 2410.  Need to reinstall WinXP. How can I see (pick up) saved profiles with anew OS? Thank you!

  • Product Ownership Assessment Survey

    Hi all The User Design and Research Team is calling for your feedback on our products and we are listening hard. Please just take a few minutes to check out this article with details.  Thank you in advance! Community Advocate Program Manager English

  • Service name name vs name . hostname

    I am trying to connect to my sample orcl database using sqlplus hr/hr@TNS:orcl After many tries and getting ORA-12594 error I finally got this to work. The trick was to update tnsnames.ora file and change SERVICE_NAME = orcl to SERVICE_NAME = orcl.<h

  • The sync fucntion resets every time I restart firefox. Why is this happening?

    I open Firefox and set up sync. I have an existing account. When I close Firefox and then open again, the sync function is reset and I have to set it up all over again.