Layout Problem (Moving among more than 2 stacked canvases)

If we are placing more than one stacked canvas on a single content canvas, then is it possible to move among them through a special keyboard key or by writing a trigger for a particular keyboard key like for eg. we can move between 2 or more workbooks in excel by pressing ctrl + tab.

The easiest thing would be to use a push-button trigger or a toolbar trigger or some menu-item choice to perform navigation.
To have a given key thus programmed you should use Oracle Terminal, and that's not too pleasant.

Similar Messages

  • Page layout problem when using more than 3 iviews(with Tab Strip controls)

    Hello Experts,
    I am using MS Visual Studio 2005 and PDK 2.5 for .net.
    I have created four iViews where two iViews are having TabStrip control which are dynamically added to iView.
    When I add iViews to the page and view page  ,I am not able to see the content of iViews having TabsStrip controls.
    But I can see contents with individual iView.I am using 3 columns layout for this scenario.
    I have tried all possible layouts available in EP.
    How should I placed iViews in page so that contents of iviews having Tabsrtip control will be displayed.
    Any help appreciated
    Regards
    Sunil Pawar

    Hi Sunil,
              Try changing the isolation property of iView to URL(Isolated) from Embedded-->Save .Now assign these iViews to the page.
    For more info,
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/97/0be13dc2fd605ae10000000a11405a/content.htm">Isolation Property</a>
    Regards,
    Vinoth.M

  • Problem with printing more than one page (ghostscript broken?)

    Hello,
    since one of the last package updates I have problems with printing more than one page. The print problems occurs as well with pdf files as well with printing websites. I use an actual KDE system with commercial turboprint printer driver. The first page always prints fine, but all consecutive pages are corrupted.  As from a similar problem some months ago, I assume a broken ghostscript package. I tried to downgrade ghostscript to check that, but I get depency problems:
    root@arch32 dieter]# ls -l /var/cache/pacman/pkg/ghostscript-*
    -rw-r--r-- 1 root root  9906288 21. Mär 2010  /var/cache/pacman/pkg/ghostscript-8.71-3-i686.pkg.tar.xz
    -rw-r--r-- 1 root root 11402624  8. Okt 22:44 /var/cache/pacman/pkg/ghostscript-9.00-1-i686.pkg.tar.xz
    [root@arch32 dieter]# pacman -U /var/cache/pacman/pkg/ghostscript-8.71-3-i686.pkg.tar.xz
    Löse Abhängigkeiten auf...
    Suche nach Zwischen-Konflikten...
    Fehler: Konnte den Vorgang (Kann Abhängigkeiten nicht erfüllen) nicht vorbereiten
    :: libspectre: benötigt ghostscript>=9.00
    [root@arch32 dieter]#
    Anyone else having printing problems or a solution for my problem?
    Thanks, Dieter

    This may not be related but I had a problem printing a pdf today whereby the second page got corrupted. The same pdf had printed fine several months ago. I realised that (long story) for some reason I had switched drivers (HP printer) from hpijs to hpcups. I installed the printer again as a "new" printer using the hpijs driver and it printed properly this time.
    So it may be that the bug causes issues with some drivers. You could try an alternative driver for the printer as temporary workaround?

  • How to serialize only 10 variables in a program among more than 10 variable

    actually i'am new to this forum .
    any body help me how to serialize only 10 variables in a program among more than 10 variables.
    assume that there are more than 10 variacles.
    give me some guidelines

    Ask this question in the Serialization forum. Try to do it only once ;-)

  • Problem with starting more than one SwingWorker

    Hello
    I wonder if anyone could tell me if there are known problems with starting more than one SwingWorker thread at once?
    In response to an action the user performs, I need to obtain several lists of things from the server. This includes a couple of server-calls, and I want to do the server calls in a thread outside the awt-event thread. So I start a couple of SwingWorker-threads. This works fine sometimes, but not always. Sometimes code in some of the SwingWorkers finished method does not update the ui. I can see that the correct calls are made, but the ui is still not updated correctly. The problem seems to be related to the sequence of when the different thread are finished. For instance, if the sequence is like this:
    SwingWorker1.construct
    SwingWorker2.construct
    SwingWorker1.finished
    SwingWorker2.finished
    Things go fine, but if the sequence is:
    SwingWorker1.construct
    SwingWorker1.finished
    SwingWorker2.construct
    SwingWorker2.finished
    the ui-updates in SwingWorker1.finished is not done correctly.
    Can anyone help me with this?

    This is the point:
    In one SwingWorker thread you have 1 construct method, and 1 finish method - which are both invoked once.
    Therefore you only have one opportunity to update the gui in that thread. This forces you to use many threads if you want regular updates, which I try to avoid.
    Therefore, the solution!
    Have a loop in the construct method that executes the algorithm accordingly, updating the gui accordingly at regular times, maintaining just the 1 thread - becomes easier and nicer for the programmer and the JVM.
    The finish method in this case is to update the gui when all iterations are finished.
    There is nothing wrong with this. Just because you have a finish method that is called in the event-dispatching thread doesn't mean that all your update code must be in there.
    What you MUST ensure is that ALL your update code is executed in the event-dispatching thread, that is the most important thing. After all, SwingWorker is just a helper class, not the gospel template of how to update a gui.

  • I am not able to update ios 5 to my iphone4, i am getting the error code 3259. i have trouble shooted my computer, but again i am getting the same problem. i tried more than 5 times

    i am not able to update ios 5 to my iphone4, i am getting the error code 3259. i have trouble shooted my computer, but again i am getting the same problem. i tried more than 5 times

    Try updating via iTunes.

  • Problem with Assigning more than one value to GROUP dynamically

    Hi,
    I have a problem with assigning more than one value to GROUP varible dynamically.
    I am able to assign only one value dynamically through Initialization block
    I have even tried with the ROW-WISE initialization blocks..
    using this query..
    SELECT 'GROUP', G.GROUP_NAME
    FROM GROUP_MAP G
    WHERE G.USER_NAME = ':USER'
    if GROUP_1, GROUP_2 are two groups to be associated,
    through this, i'm getting " GROUP_1;GROUP_2 " into GROUP variable ( seen from Narative view )
    And the properties and securities of this Groups are not inherited.
    Please let me know if there is any other way to Populate the GROUP variable dynamically with more than one value.
    Thank you.,

    Hi,
    i finally got in this way..
    i had created a function which takes USER_NAME as input and returns a string that contains the GROUP names with semicolon delimeted..
    Though it is same as that of ROW-WISE initialization,
    the properties of those groups are also being inherited..
    Now, i can assign more than one groups and its properties to a user dynamically.

  • Trial version problem when using more than 1 track - does trial version same as full one?

    I am thinking of upgrading to Premiere Elements 9 as I have upgraded my laptop. But the trial version Premiere Elements 9 doesn't even perform as well (with the same media) as Elements 4.0 did on my old laptop.
    My new laptop is an HP Pavilion with Intel(R) Core i7 Q720 @ 1.6GHz (I was a bit wary of the low GHz but HP explained that that was still better than a higher GHz figure for an i5).   I am editing both MP4 and avi files at 720 x 480.
    The problem is that as soon as I start to use more than a couple of video tracks, playback slows right up, making editing difficult.   Other software packages I have trialled on the new laptop (such as Sony Vegas) don't slow up at all, but I'd rather not buy them as I am very familiar with Premiere Elements now.
    Is this a problem with the trial version which woudl be solved if I bought the full version, or will it be the same?
    Thanks very much for any help

    The AVI format is but a wrapper. Almost anything can be inside that wrapper. This ARTICLE will give you more background, and will also tell you how to determine what is inside the wrapper.
    Especially with a laptop, I strongly recommend tuning the computer for an editing session. This ARTICLE will give you some tips. Note: there are a couple of links, just for Win7. Also, there are some good tune-up tips in the forum FAQ section, to the right of the main forum page. Of special note: the active anti-virus, pop-up blockers and spy sweepers are known to cause all sorts of problems, when trying to edit video.
    One major consideration with a laptop is the I/O sub-system - the HDD's. Most laptops only have one internal HDD, and that is anything but ideal. With eSATA external HDD's, one can get very nearly the same performance, as with multiple internal HDD's. This ARTICLE will give you tips on using external HDD's with video editing. Though I have 3x internal SATA HDD's in my laptop, I still rely on FireWire 800 (IEEE-1394b) externals, and they work well. Using eSATA would be even better. For more info on the I/O sub-system, see this ARTICLE.
    Good luck,
    Hunt

  • TS4268 I am having a problem in imessages more than a week

    Hello
    I am having a problem in the imessages. I have not experienced this problem never before, has suddenly happened.
    I cannot send messages and be suspended and after that failed or not delivered.
    After I turned off the program and try to run it no longer work and never until now, it was only in the case of waiting for the activation and error. continued in this mood for several days where I lost around fifty riyals from my SIM Card balance and the reason that I have waited 24 hours to be activation as requested, but it was only the deduction of my balance in prepaid SIM Card.
    So far, passed more than a week ago and I discovered that I am not the only one facing this bug a lot of my friends complained about that.
    Moreover, when they make it in a regular message mood it sends twice, that also do deduction of my balance in prepaid SIM card.
    Please help, it’s now more than a week.

    Is iMessage activated?
    It was perfectly working , but now its not and i dont know the reason.
    In your original post you mention something about the 24 hours waiting period mentioned in the support document for troubleshooting iMessage activation. If it does not activate within the 24 hour period, the instructions say to contact Apple Support. Have you done that?
    Yes with no response.
    iMessage activation requires the sending and receipt of a SMS to a server in the UK. Does your pre-paid SIM support that message? If not, that could be the issue that you are facing.
    I know it needs to send SMS to compleat activation it was done before.
    But since its not working and tried to fix it it was stuck keep sending the text for so many time and it charged me so much.
    Dont know what to do.

  • Spry insert master/detail layout Can't get more than two columns?

    Ive been trying to get more than two columns just experimenting with spry data sets and can't with the layout option "insert master/detail layout"
    What am I doing wrong?
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:spry="http://ns.adobe.com/spry">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script src="SpryAssets/SpryData.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryHTMLDataSet.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMasterDetail.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript">
    var ds1 = new Spry.Data.HTMLDataSet("benefitsdata.html", "bizben", {firstRowAsHeaders: false});
    </script>
    </head>
    <body>
    <div align="center">
      <div class="MasterDetail">
        <div spry:region="ds1" class="MasterContainer">
          <div class="MasterColumn" spry:repeat="ds1" spry:setrow="ds1" spry:hover="MasterColumnHover" spry:select="MasterColumnSelected">{column0}</div>
        </div>
        <div spry:detailregion="ds1" class="DetailContainer">
          <div class="DetailColumn">{column1}</div>
          <div class="DetailColumn">{column2}</div>
          <div class="DetailColumn">{column3}</div>
        </div>
        <br style="clear:both" />
      </div>
    </div>
    </body>
    </html>

    Hello,
    in addition to Sudarshan's statement about the discontinued support: In my SPRY library I found this "html_dataset_sample". Maybe it could help you. Here the source code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:spry="http://ns.adobe.com/spry">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    <script src="SpryAssets/SpryData.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryHTMLDataSet.js" type="text/javascript"></script>
    <script type="text/javascript">
    <!--
    var ds1 = new Spry.Data.HTMLDataSet("benefitsdata.html", "bizben", {firstRowAsHeaders: false, useCache: false, tableModeEnabled: false, sortOnLoad: "column0", sortOrderOnLoad: "ascending", rowSelector: "tr.destroyed", dataSelector: "td"});
    ds1.setColumnType("column2", "number");
    ds1.setColumnType("column3", "number");
    ds1.setColumnType("column4", "number");
    //-->
    </script>
    </head>
    <body>
    <div spry:region="ds1">
    <table>
      <tr align="center" valign="middle">
       <th width="100" spry:sort="column0">Name</th>
        <th width="100" spry:sort="column1">Class</th>
       <th width="100" spry:sort="column2">Length(m)</th>
       <th width="100" spry:sort="column3">Crew Size</th>
       <th width="100" spry:sort="column4">Crew 1</th>
    </tr>
      <tr align="center" valign="middle" spry:repeat="ds1">
       <td width="100"><p>{column0.1}{column0.2}{column0.3}</td>
         <td width="100">{column1}</td>
       <td width="100">{column2}</td>
       <td width="100">{column3}</td>
       <td width="100">{column4}</td>
    </tr>
      </table>
    </div>
    </body>
    </html>
    Hans-Günter

  • Iphone 3g pop3 email problems when having more than 1 email account.

    sending emails from more than one pop email account...
    after checking and re-checking settings for pop email accounts [ follow the apple settings example for setting the first email account] i found that the iphone 3G does not support having more then one smtp server in other words it does not supports - different smtp servers.] so the only way to make two or more email accounts to work correctly is to use only one smtp server for all the email accounts and this will allow to send emails from more than one email account.
    i think this is a bug on the iphone 3G......!!

    I access two email accounts with the iPhone's Mail client - an IMAP account and a POP account. The accounts have different authenticated SMTP servers and I have no problems sending with either account.

  • Problems to open more than 1 PDF file simultaneously

    Hi, Please I don't get to open simultaneously 2 ou more PDF files using Adobe Acrobat Reader or Adobe Acrobat Professional.
    If Itry to open a second PDF file it show the follow message: "you can not use multiple instance of program at the same time".
    And more: my computer (with windows xp system) start to spelling the physical memory if I try to open a second PDF file through the command Open in the File Menu of Adobe Acrobat.
    I had try uninstall and install again the these programs, but the problem persist.
    What can I do?
    It could be necessary format my computer?
    Thank you,
    Diego Pinheiro

    It's a problem from Adobe!!!
    If you deinstall Adobe Reader 9.1 and install the older version 8.1.3, then you can work normally and you can open more than one document from an email or a directory.
    So: Good bye to Adobe 9.1 !!!
    And nobody else has this problem ???? Only me ????
    Alfred Heukaeufer

  • PRoblem when posting more than one document

    Hi all,
    I'm using BAPI    BAPI_GOODSMOVEMENT_CREATE to post the documents for PO_GR.when i post one document through text file it is done succesfuully. when i'm posting more than one document it is giving error "posting not possible".
    My code is as follows:
    loop at i_data.
    concatenate '0'   i_data-stor_loc  into i_data-stor_loc.
    concatenate '00'  i_data-plant     into i_data-plant.
        i_item-po_number  = i_data-po_no.
        i_item-po_item    = i_data-po_item.
        i_item-move_type  = i_data-mvt_type.
        i_head-doc_date   = doc_date.
        i_head-pstng_date = post_date.
        i_head-ref_doc_no = i_data-del_note.
        i_item-entry_qnt  = i_data-entry_qty.
        i_item-stge_loc   = i_data-stor_loc.
        i_item-plant      = i_data-plant.
        i_item-stck_type  = i_data-stk_type.
        i_item-batch      = i_data-batch.
    I_ITEM-move_val_type      = i_data-move_batch.
        APPEND: i_item,i_head.
        CLEAR:i_item.
      ENDLOOP.
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
       EXPORTING
         goodsmvt_header             = i_head
         goodsmvt_code               = i_code
       TESTRUN                     = ' '
      IMPORTING
      GOODSMVT_HEADRET            =
        MATERIALDOCUMENT            = matdoc
       MATDOCUMENTYEAR             =
       tables
         goodsmvt_item               = i_item
       GOODSMVT_SERIALNUMBER       =
         return                      = return
      IF return IS INITIAL.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      ENDIF.
      LOOP AT return.
        WRITE: return-message.
      ENDLOOP.
      WRITE: matdoc.
    PLease specify where i'm going wrong.
    Regards,
    SImha.

    Hi,
    I had used the same FM to post multiple documents, but never faced this error.
    *- Header
      MOVE: sy-datum TO bapigm_head-pstng_date,
            sy-datum TO bapigm_head-doc_date,
            sy-uname TO bapigm_head-pr_uname,
            v_mblnr  TO bapigm_head-ref_doc_no,
            con_bfwms_bestand TO bapigm_head-ext_wms.
    *- Item
    *- Populate item data
      LOOP AT i_items_trans.
        CLEAR ibapigm_item.
    *- Convert the matnr backto 18 char form (External)
        CALL FUNCTION 'CONVERSION_EXIT_MATN2_INPUT'
          EXPORTING
            input            = i_items_trans-matnr
          IMPORTING
            output           = i_items_trans-matnr
          EXCEPTIONS
            number_not_found = 1
            length_error     = 2
            OTHERS           = 3.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        ibapigm_item-material   = i_items_trans-matnr.
        ibapigm_item-plant      = i_items_trans-werks.
        ibapigm_item-stge_loc   = i_items_trans-lgort.
        ibapigm_item-move_type  = '101'.   "Goods Receipt
        ibapigm_item-mvt_ind    = 'B'.     "Goods Movement for PO
        ibapigm_item-po_number  = i_items_trans-ebeln.
        ibapigm_item-po_item    = i_items_trans-ebelp.
        ibapigm_item-entry_qnt  = i_items_trans-ktmng.
        ibapigm_item-entry_uom  = i_items_trans-meins.
        APPEND ibapigm_item.
      ENDLOOP.
    *-Call FM
      CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
        EXPORTING
          goodsmvt_header  = bapigm_head
          goodsmvt_code    = bapigm_code
        IMPORTING
          goodsmvt_headret = bapigm_headret
        TABLES
          goodsmvt_item    = ibapigm_item
          return           = ibapigm_ret.
    *- Commit on Success
      IF NOT bapigm_headret-mat_doc IS INITIAL.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    Regards,
    Raj

  • NIO - Selector problem - when using more than one in same application

    Hi,
    I'm developing a multiplayer-server, which shall be able to handle at least 2000 concurrent clients. To avoid the use of 4000 threads for 2000 clients (a thread for each stream), I would like to use NIO.
    Problem:
    The server has of course a ServerSocketChannel registered with a Selector, and when clients connects, the SocketChannel's is received. IF these channels is registered (OP_READ) with the same Selector-instance as the ServerSocketChannel, there is no problem and the Selector recognizes when a registered SocketChannel is ready for OP_READ - BUT when the received SocketChannels is registered with another Selector-instance than the one the ServerSocketChannel is registered with, the Selector NEVER recognizes, when a SocketChannel is ready for OP_READ - why not and how do I solve the problem? Only one thread can service the same Selector-instance, and when both receiving many connections and read/write, this could easily be a bottleneck
    Following is the used code; 2 classes: ClientListener (has a ServerSocketChannel registered with a Selector) and ClientHandler (has another Selector where the SocketChannels is registered and a thread-pool that services all the SocketChannels, when they are ready for read/write):
    public class ClientListener {
      private static final int BACKLOG = 32;
      private int port;
      private Thread internalThread;
      private volatile boolean noStopRequested;
      private ServerSocketChannel ssc;
      private static Selector selector;
      private ClientHandler clientHandler;
      public ClientListener(ClientHandler clientHandler, String bindAddress, int port) throws InternalErrorException {
        this.clientClass = clientClass;
        this.clientHandler = clientHandler;
        this.noStopRequested = true;
        this.port = port;
        try {
          InetAddress inetAddress;
          if (bindAddress.equals(""))
            inetAddress = InetAddress.getLocalHost();
          else
            inetAddress = InetAddress.getByName(bindAddress);
          ssc = ServerSocketChannel.open();
          ssc.socket().bind(new InetSocketAddress(inetAddress, port), BACKLOG);
          ssc.configureBlocking(false);
          Runnable r = new Runnable() {
            public void run() {
              try {
                start();
              } catch (Exception e) {
                Log.echoError("ClientListener: Unexpected error: "+e.getMessage());
          internalThread = new Thread(r, "ClientHandler");
          internalThread.start();
        } catch (Exception e) {
          throw new InternalErrorException(e.getMessage());
      public static Selector selector() {
        return selector;
      private void start() {
        Log.echoSystem("ClientListener: Listening started at port "+port);
        try {
          selector = Selector.open();
          SelectionKey acceptKey = ssc.register(selector, SelectionKey.OP_ACCEPT);
          int keysAdded;
          while (noStopRequested) {
            SelectionKey key = null;
            keysAdded = selector.select(10000);
            if (keysAdded == 0)
              continue;
            Set readyKeys = selector.selectedKeys();
            Iterator i = readyKeys.iterator();
            while (i.hasNext()) {
              try {
                key = (SelectionKey)i.next();
                i.remove();
                if (key.isAcceptable()) {
                  ServerSocketChannel nextReady = (ServerSocketChannel)key.channel();
                  SocketChannel sc = nextReady.accept();
                  try {
                    clientHandler.registerClient(sc);
                  } catch (Exception e) { e.printStackTrace(); }
              } catch (CancelledKeyException cke) {
                System.out.println("ClientListener: CancelledKeyException");
        } catch (Exception e) {
          e.printStackTrace();
          try {
            ssc.close();
          } catch (IOException ioe) {/* Ignore */}
        Log.echoSystem("ClientListener: stopped");
      public void stop() {
    public class ClientHandler {
      private static final int INITIAL_WORKER_COUNT = 5;
      private int port;
      private Thread internalThread;
      private volatile boolean noStopRequested;
      private static Selector selector;
      private Manager manager;
      private WorkerPool pool;
      private ClientListener clientListener;
      public ClientHandler(Manager manager, String bindAddress, int port) throws InternalErrorException {
        this.manager = manager;
        this.noStopRequested = true;
        this.port = port;
        clientListener = new ClientListener(this, bindAddress, port);
        // initiating load-balanced worker-pool
        pool = new WorkerPool(INITIAL_WORKER_COUNT, (int)(manager.getMaxClients() * ClientWorker.CLIENT_FACTOR), 0.75f);
        for (int i=0; i < pool.getMinCount(); i++) {
          pool.addWorker(new ClientWorker(pool, manager));
        Runnable r = new Runnable() {
          public void run() {
            try {
              start();
            } catch (Exception e) {
              Log.echoError("ClientHandler: Unexpected error: "+e.getMessage());
        internalThread = new Thread(r, "ClientHandler");
        internalThread.start();
      public static Selector selector() {
        return selector;
      private void start() {
        Log.echoSystem("ClientHandler: Started");
        try {
          selector = Selector.open();
          int keysAdded;
          while (noStopRequested) {
            SelectionKey key = null;
            try {
              keysAdded = selector.select();
              Log.echoDebug("ClientHandler: out of select()");
              if (keysAdded == 0)
                continue;
              Set readyKeys = selector.selectedKeys();
              Iterator i = readyKeys.iterator();
              while (i.hasNext()) {
                try {
                  key = (SelectionKey)i.next();
                  i.remove();
                  if (key.isReadable()) {
                    key.interestOps(key.interestOps() & (~SelectionKey.OP_READ));
                    ClientWorker worker = (ClientWorker)pool.getWorker();
                    worker.process(key);
                  } else if (key.isWritable()) {
                    key.interestOps(key.interestOps() & (~SelectionKey.OP_WRITE));
                    ClientWorker worker = (ClientWorker)pool.getWorker();
                    worker.process(key);
                  } else {
                } catch (CancelledKeyException cke) {
                  Client client = (Client)key.attachment();
                  if (client != null) {
                    client.disconnect();
                    key.selector().wakeup();
            } catch (CancelledKeyException cke) {
              if (key != null) {
                Client client = (Client)key.attachment();
                if (client != null) {
                  client.disconnect();
                  key.selector().wakeup();
        } catch (Exception e) {
          e.printStackTrace();
        Log.echoSystem("ClientHandler: stopped");
      public void registerClient(SocketChannel sc) throws Exception {
        sc.configureBlocking(false);
        Client client = new Client(...);
        SelectionKey key = sc.register(selector, SelectionKey.OP_READ, client);
        key.selector().wakeup();
      public void stop() {
    }

    Ok, found the solution here: http://forum.java.sun.com/thread.jsp?forum=31&thread=282069
    "The select() method holds a lock on the selector that
    the register() method wants to acquire. The register()
    method cannot continue until the lock is relased and
    the select() method will not release it until some key
    is triggered. If this is the first key you're adding
    then select has nothing that will wake it up, ever.
    The result is, obviously, a deadlock.
    The solution is to have a queue of pending connections.
    You put your new connection in that queue. Then you
    wake up the selector and let that thread go through
    the queue, registering connections."

  • Problem when calling more than 1 Javascript function

    Hello everybody,
    I am trying to disable fields based on the value in a Select List. There is a table in which values are stored to tell if a field should be disabled for the selected value. I have created an Application Process and a JavaScript function for each field.
    The problem is that only the first function is executed, and the second not.
    I have tried the following:
    onchange="Disable_Dagen(this);Disable_Kg(pThis);"and I have put them together in a parent JavaScript function
    function Disable_Fields(pThis){
    Disable_Kg(pThis);
    Disable_Dagen(pThis);
    }In either case only the first works, so when I change the order then the other one is executed properly.
    Can anyone give me a clue on how to solve this?
    My complete JavaScript definition in the header is as follows:
    (the code in html_DisableOnValue is taken from the example site from Carl Beckstrom)
    <script language="JavaScript" type="text/javascript">
    <!--
    function html_DisableOnValue(pThis,pValue,pThat){
         var lTest;
      if(pThis.nodeName == 'SELECT'){
                   lTest = html_SelectValue(pThis) == pValue;
         }else{
                   lTest = $x(pThis).value == pValue;
         if(pThat){
               for (var i=2;i <= arguments.length; i++){
                          html_disableItem(arguments,lTest)
         return;
    function Disable_Dagen(pThis){
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=AP_RETURN_DISABLE_VAL_DGN',0);
    get.add('AI_AFW_CODE',pThis.value);
    gReturn = get.get();
    get = null;
    //alert('Return waarde is '+ gReturn );
    html_DisableOnValue(pThis,gReturn,'P43_AANTAL_DAGEN');
    function Disable_Kg(pThis){
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=AP_RETURN_DISABLE_VAL_KG',0);
    get.add('AI_AFW_CODE',pThis.value);
    gReturn = get.get();
    get = null;
    //alert('Return waarde is '+ gReturn );
    html_DisableOnValue(pThis,gReturn,'P43_AANTAL_KG');
    function Disable_Fields(pThis){
    Disable_Kg(pThis);
    Disable_Dagen(pThis);
    //-->
    </script>
    In this case the Form Element property is set toonchange="Disable_Fields(this)"
    Thanks, Wouter                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi Roel,
    Thanks again for your response.
    There is a lot more to Firebug then I had seen before. Now I have turned on the Console and the Script. Initially I saw the following in the Console:
    C is undefined
    $x_disableItem(undefined, true)apex_3_1.js (regel 1)
    html_DisableOnValue(select#P43_AFWIJKING_CODE, "101", "P43_AANTAL_DAGEN")f?p=104:...2606::::: (regel 38)
    Disable_Dagen(select#P43_AFWIJKING_CODE)f?p=104:...2606::::: (regel 51)
    onchange(change )f?p=104:...FPQ%3D%3D (regel 2)
    [Break on this error] var gDebug=true;var gkeyPressTime;var gL...Options;html_SelectValue=$f_SelectValue;When I removed the comments before the 2 Alerts, I only got one alert when I tested it.
    Then I replaced the function call to html_DisableOnValue to $f_DisableOnValue as you suggested, and that did the trick. Now it Works!
    I still don't know why the html_DisableOnValue function doesn't work. I just copied it from the demo site of Carl Beckstrom. Anyway my problem is solved.
    Have a nice weekend, Wouter

Maybe you are looking for