Is it a bug in forms6i?

When i create a form in forms6i which has some text items the prompts associated with those fields gets the colour of the text items as their background colour.
For example if i have a green color background to represent the mandatory items ,then even the prompts have green color background.
Why is this so?.Is it a bug in 6i.is there any solution for this problem(any patch available or settings to be changed?)
Thanx in advance
Alfred

Installing Patch1 will solve your problem.
Helena

Similar Messages

  • Forms6i run-time crahses as I change pll

    I am sharing some data between forms (6i) using pll. Variables are declared in a package spec inside pll.
    As soon as I change the package spec (to add a new varibale, all the forms start to crash).
    The only way to resolve it to recomiple all the forms (which are referring to these pll variables). Sometimes I had to put some messages in all program units for form to work (as it seems even copile all doesn't compile it)
    Why is it? Is there a bug in forms6i
    I though changing pll should requires recompiling all forms!
    Please help.
    I

    > Sometimes I had to put some messages in all program units for form to
    work (as it seems even compile all doesn't compile it)
    That's the problem with Forms storing old compiled code inside the fmb.
    Clean out all the old compiled code using the semicolon - semicolon replace all, then save the fmb, then close it. Then open it, compile, and close again withOUT saving.
    We go to great lengths here to keep the PLL libraries UNcompiled, too. It keeps the source code files (.pll and .fmb) much smaller.
    Here are the links explaining the fmb size issue and the semicolon replace procedure:
        Re: FMB size shrinks dramatically
    and
        Re: Why does this happen - find ';', replace with ';'? (the semicolon semicolon replace question)

  • Bug in the Forms 5 ?

    Hi All!
    I develop with a Forms Builder 5.0.6.18.1 and I've found a serious bug I
    think.
    Just try to do the following things:
    1.Connect as user "A".
    2.Create a stored procedure which does something like this:
    function c is
    x number;
    begin
    select count(*) into x from example;
    exception ....
    end;
    return x;
    3.Create a table called example and insert only one row into it.
    4.Create a form a numeric field on it and a button on it.
    5.Create a when-button-pressed trigger onto the button and call the
    function c.
    6.Display the returning value to check the result.
    7.Call the form and check the result.
    8.Connect as user "B".
    9.Copy the same function which "A" has.
    10.Create a table example as we did in the schema "A".
    11.Insert two rows into it.
    12.Finally the most important thing: Try to run the form with "A" and
    "B" too!
    I've figured out that doesn't matter you are connected as user "B" the
    form calls that function which you've compiled in the other schema last
    time! If you compile the form with schema "B" and you call the form from
    "A" the "B"`s function will be run and vice versa. (Just try to drop
    "B"`s function and run the form in "A", ORA-004067 will appear.)
    tia and bye.,Sanya
    null

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by pascal ():
    i haven't this version of forms.
    i have tried this (or part of this: i haven't created a table but i have created 2 function (at one user it return 3 on the other it return 5)) with forms 5.0.4 and forms6
    and i both it seems to work
    ~
    pascal<HR></BLOCKQUOTE>
    Hmm. It's strange. But I can reproduct this case easily. It seems to be a problem of my version only.
    thanks && bye., Sanya
    null

  • Forms6i rel2 Access Violation while connecting

    I just installed Forms6i rel2 (6.0.8.11.3) on XP, but I can't connect to the database (9.2.0.1.0 on W2000): Access Violation in ORA805.DLL.
    Since the install, Toad can't connect either (same error).
    My sql*plus and Designer (9i), installed in another Oracle Home, still work.
    Changing the primary Oracle Home to either one doesn't help.
    Any ideas about what could be the cause of the problem?
    Btw: upgrading to Forms 9i is no solution, because I need to create client/server forms.
    Theo

    There's a bug on oracle 9i, Database character set AL32UTF8. Probably this is the problem. I've reinstall the database (9.2.0.1.0 on Linux), with standard character set(in my case 'WE8ISO8859P1'), and not AL32UTF8, and i finally can connect with Forms6i rel2, pffuuiii.
    To know if your are in this case, check your database character set, with the sql command;
    select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
    regards, E.D.
    P.S:
    Oracle say:
    The fix will be included in a future patchset to Forms 9i.
    There will be no fix for Forms 6i.

  • Anomaly in Forms6.0 (Especially for Date Field)

    Dear all OTN Members,
    I Don't have any idea of this "anomaly" happened in my Dev2K. My problem is When I run my form with f60run.exe, everything run as normal as it is. But sometimes, when I get my cursor focused in one field, which have Date datatype, and I try to insert the date (sample : '02-04-2000'), It goes mad. I mean that everytime I try to type the year, it always become '02-04-0002' and the cursor will highlight the field. For additional information, I didn't put any trigger in that field. I think I need some suggestion here, I don't know if it is some kind of bugs or just my Dev2K need to be reinstalled. I have try to run my forms in another PCs, but the anomaly still show up sometimes. I really need help on this. Thanks for your suggestions.

    Hi Franko,
    I just want to confirm whether u are using any calendar to select your date value.I do face problem while selecting a date value from a calendar.The problem is a replica as in your case.Without that looks like forms6i is doin fine for date columns.I shall get back to u in case i find any solutions to ur problems.
    Venkatesh C

  • Forms6i Q: how to quash beep under certain deployment conditions ...

    First ... we are using Forms6i developed in client-server mode with developer licenses, and then we run these forms / reports / etc. via runtime on a Terminal Server. Oracle does not technically support this, but I can state for a fact that it runs justfine_ and has for last 6 years, and 6 years before that via WinNT. Forms6i is so brilliantly stable, it's hard to think of giving it up ... but that's another story.
    Duncan Mills??? Grant Roland??? y'all lurking??? (please don't hate me!!)
    We have a form that runs just fine, queries data, creates a list.
    It had a double-click (dc) on a key field to go to child record, users could review, edit, save, close, return to list, dc to next rec in select. Handy, because user didn't lose select set and could work at will.
    New Requirement ... user wants to open several of those child records at once and arrange at will on screen, close at will, etc.
    So ... we figured out how to do this with RUN_PRODUCT (Forms, etc. parameters) yippee!
    (RUN_PRODUCT Is woefully searched / documented, except for run reports and, of course, deprecated in 10g, but I digress).
    So ... now we deploy our test form on our production Terminal Server (we have a way to do this), an old trooper, a Windows 2000 Terminal Server. It runs just fine, does what we want. Good. Now we put it on our VIRTUAL Terminal Server (VTS), and test again. It all works, lovely, users can open 100+ sessions and VTS does not blink, all to the good (in real time, users will open maybe 5 of these sub-sessions at a time, and we will limit them to 15 via Oracle Profile.
    Here's the problem:
    On the old TS, it does exactly what we want.
    On the new VTS, it beeps 3 times when a child rec is DC'd to.
    This will drive the users batty. They need no more noise in a noisy environment.
    We have tried the following ...
    (a) Quiet Mode (seems to otherwise work, but not with this).
    (b) an environment variable ... "QUIET=YES" ... no effect.
    (c) turning off server's speaker ... no effect.
    (d) changing the settings in the mysterious CONFIG.NT and AUTOEXEC.NT files that still exist in the System32 folder (this was the secret of working with WinNT servers!!!)
    (e) looking for a setting in the secretive CAGPREFS.ORA file or the registry ... no luck here so far.
    (f) looking thru forms help ... but this is woefully non-descript on beep behavior.
    ===>>> Does anyone have other ideas or an actual solution?
    Is there something peculiar to using Windows 2008 R2 Terminal Server (virtual or not)??
    Is there some mystic operating system setting that should be set and is new to us?
    Kind regards all, thanks in advance for any clues, especially if you've read this far.
    Suzanne Michelle

    Steve, the MTSC link provided another link to what turned out to be the answer ...
    http://social.technet.microsoft.com/Forums/en-US/winserverTS/thread/73767bca-021b-480f-9001-fffaae2220da
    ... I disabled System Beep and System Speaker (under My Computer, Manager, Diagnostics, Device Manager (being sure to click View, Show hidden objects)).
    (but I did not reboot server, and perhaps should have, but could not, mid-day)
    ... I added the Steve-Holk-suggested "DisableBeep" DWORD string to the registry
    I quote ...
    ==================================================
    I asked around and found out there is a registry setting with will disable beeps from the server side. Here it is:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
    DisableBeep REG_DWORD 0x1
    ==================================================
    ... and I did that, and then did restart the server (this is a virtual server, no box, so yet more layers, not normally accessible) ... and the beep was gone.
    Yes it did beep on my computer, and if I disabled that beep, it stopped, but I cannot control users' PCs, only the server.
    So, in my judgement, this is a Microsoft bug, that the TS is not correctly handling it's own "do not pass audio" instruction, at least without the above specific registry change.
    At least now I can live with it!
    Thank you SO MUCH for pointing me in correct direction!!
    I am very grateful, and my users will be too!
    (I will look at the QA suggestion tho' for other reasons, thanks for that too!)
    Kind regards,
    Suzanne

  • Forms10g don't work like Forms6i

    Hi
    I have de code bellow
    :NSW_ITENS.NUM_LOTE := :NSW_ITENS.NUM_LOTE;
    When i Execute on Forms6i the code fire trigger WHEN-VALIDATE-ITEM(from nsw_itens.num_lote), but on Forms10g doesn't fire this trigger, why?
    Thanks

    Its quite likely that you have come across bug 4243055
    From the bug text:
    It works when you delete the existing value and then type the old value!
    Customer could tell the end users to clear the "old" value first when the
    "new" value is the same value.
    Possible programmatic solution:
    - have 2 items instead of one:
    - one an invisible database item of length 1
    - the other one a non-database item of length 2 but only the first
    character is visible
    - create a POST-QUERY trigger that
    - concatenates the value of the database item with itself
    - copies this concatenated value to the non-database item
    - move the WHEN-VALIDATE-ITEM trigger from the database item to the
    non-database item and let it check for 'FF' instead of 'F'
    - let the WHEN-VALIDATE-ITEM trigger copy the first character of the value
    of the non-database item to the database item
    - let the WHEN-VALIDATE-ITEM trigger overwrite the second character of the
    non-database item with the value of the first one

  • Index with "or" clause (BUG still exists?)

    The change log for 2.3.10 mentions "Fixed a bug that caused incorrect query plans to be generated for predicates that used the "or" operator in conjunction with indexes [#15328]."
    But looks like the Bug still exists.
    I am listing the steps to-repro. Let me know if i have missed something (or if the bug needs to be fixed)
    DATA
    dbxml> openContainer test.dbxml
    dbxml> getDocuments
    2 documents found
    dbxml> print
    <node><value>a</value></node>
    <node><value>b</value></node>
    INDEX (just one string equality index on node "value")
    dbxml> listIndexes
    Index: unique-node-metadata-equality-string for node {http://www.sleepycat.com/2002/dbxml}:name
    Index: node-element-equality-string for node {}:value
    2 indexes found.
    QUERY
    setVerbose 2 2
    preload test.dbxml
    query 'let $temp := fn:compare("test", "test") = 0
    let $results := for $i in collection("test.dbxml")
    where ($temp or $i/node[value = ("a")])
    return $i
    return <out>{$temp}{$results}</out>'
    When $temp is true i expected the result set to contain both the records, but that was not the case with the index. It works well when there is no index!
    Result WITH INDEX
    dbxml> print
    <out>true<node><value>a</value></node></out>
    Result WITHOUT INDEX
    dbxml> print
    <out>true<node><value>a</value></node><node><value>b</value></node></out>

    Hi Vijay,
    This is a completely different bug, relating to predicate expressions that do not examine nodes. Please try the following patch, to see if it fixes this bug for you:
    --- dbxml-2.3.10-original/dbxml/src/dbxml/optimizer/QueryPlanGenerator.cpp     2007-04-18 10:05:24.000000000 +0100
    +++ dbxml-2.3.10/dbxml/src/dbxml/optimizer/QueryPlanGenerator.cpp     2007-08-08 11:32:10.000000000 +0100
    @@ -1566,11 +1572,12 @@
         else if(name == Or::name) {
              UnionQP *unionOp = new (&memMgr_) UnionQP(&memMgr_);
    +          result.operation = unionOp;
              for(VectorOfASTNodes::iterator i = args.begin(); i != args.end(); ++i) {
                   PathResult ret = generate(*i, ids);
                   unionOp->addArg(ret.operation);
    +               if(ret.operation == 0) result.operation = 0;
    -          result.operation = unionOp;
         // These operators use the presence of the node arguments, not their valueJohn

  • Bug report follow-up

    is there a way to follow-up on a bug report that i submitted?  i have the bug number, but would like to see if the report was understood, filled out properly and determine the status of the bug report.
    thanks,
    doug

    They comment on bugs if actions were taken. Otherwise - don't expect any feedback.

  • Solaris8 and 9 (possibly 7) /dev/poll driver bug report.

    Hello,
    I'd like to report a bug in the solaris 8 and 9 /dev/poll driver (poll(7d)).
    As i do not have a support account with sun or anything like that, there
    seems to be no other way to do that here (which is of course a very sad
    thing).
    Bug details:
    The /dev/poll device provides an ioctl-request (DP_ISPOLLED) for checking
    if a particular filedescriptor is currently in the set of monitored
    filedescriptors for that particular /dev/poll fd set (open /dev/poll fd).
    A quote from the documentation of the poll(7d) manual page taken from
    Solaris9:
    "DP_ISPOLLED ioctl allows you to query if a file descriptor is already in
    the monitored set represented by fd. The fd field of the pollfd structure
    indicates the file descriptor of interest. The DP_ISPOLLED ioctl returns 1
    if the file descriptor is in the set. The events field contains the
    currently polled events. The revents field contains 0. The ioctl returns 0
    if the file descriptor is not in the set. The pollfd structure pointed by
    pfd is not modified. The ioctl returns a -1 if the call fails."
    It says that when you query for an filedescriptor which is currently being
    monitored in the set, that it would return 1, and change the events field of
    the pollfd structure to the events it's currently monitoring that fd for.
    The revents field would be set to zero.
    However the only thing which actually happens here, is that FD_ISPOLLED
    returns 1 when the fd is in the set and 0 if not. When the fd is in the
    set, when FD_ISPOLLED returns 1, the events field remains unmodified, but
    the revents field gets changed.
    A small sample code to illustrate:
    #include <stdio.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <sys/devpoll.h>
    main() {
    struct pollfd a;
    int dp_fd = open("/dev/poll", O_WRONLY);
    a.fd = 0; /* stdin */
    a.events = POLLIN; /* we monitor for readability, POLLIN=1 */
    a.revents = 0;
    write(dp_fd, &a, sizeof(a));
    a.fd = 0;
    a.events = 34; /* filled in with bogus number to show malfunctioning */
    a.revents = 0;
    printf("DP_ISPOLLED returns: %d\n", ioctl(dp_fd, DP_ISPOLLED, &a));
    printf("a.fd=%d, a.events=%hd, a.revents=%hd\n", a.fd, a.events,
    a.revents);
    According to the documentation of /dev/poll and namely DP_ISPOLLED this
    program is supposed to print the following:
    DP_ISPOLLED returns: 1
    a.fd=0, a.events=1, a.revents=0
    However it prints the following:
    DP_ISPOLLED returns: 1
    a.fd=0, a.events=34, a.revents=1
    You can take any number instead of '34' and it will simply remain untouched
    after the DP_ISPOLLED ioctl-request.
    I hope it's clear now that the solaris8 and solaris9 (and probably solaris7
    with /dev/poll patch too) DP_ISPOLLED implementation is broken.
    This bug is also easily illustrated by looking at the solaris8 kernel sourcecode:
    <snippet osnet_volume/usr/src/uts/common/io/devpoll.c:dpioctl()>
    case DP_ISPOLLED:
    pollfd_t pollfd;
    polldat_t *pdp;
    if (pollfd.fd < 0) {
    mutex_exit(&pcp->pc_lock);
    break;
    pdp = pcache_lookup_fd(pcp, pollfd.fd);
    if ((pdp != NULL) && (pdp->pd_fd == pollfd.fd) &&
    (pdp->pd_fp != NULL)) {
    pollfd.revents = pdp->pd_events;
    if (copyout(&pollfd, (caddr_t)arg,
    sizeof(pollfd_t))) {
    mutex_exit(&pcp->pc_lock);
    DP_REFRELE(dpep);
    return (set_errno(EFAULT));
    *rvalp = 1;
    </snippet>
    its' clearly visible that the code writes the current monitored events to
    the revents field:
    'pollfd.revents = pdp->pd_events;'
    and that it doesnt set revents to zero.
    It's funny to see that this has been like this since Solaris8 (possibly 7). That means nobody ever used DP_ISPOLLED that way or people were simply to lazy to file a bug report.
    Another funny thing related to this. is that Hewlett-Packard did seem to know about this. Since HP-UX11i version 1.6 they also support /dev/poll. From their manual page i ll quote some sentences from their WARNING session:
    "The ioctl(DP_ISPOLLED) system call also returns its result in the revents member of the pollfd structure, in order to be compatible with the implementation of the /dev/poll driver by some other vendors."
    Hopefully this will get fixed.
    I also like to reexpress my very negative feelings towards the fact that you're not able to file bug reports when you do not have a support contract. Ridiculous.
    Thanks,
    bighawk

    Have I mentioned how much i love my playbook now Great job on os 2.0

  • [bdb bug]repeatly open and close db may cause memory leak

    my test code is very simple :
    char *filename = "xxx.db";
    char *dbname = "xxx";
    for( ; ;)
    DB *dbp;
    DB_TXN *txnp;
    db_create(&dbp,dbenvp, 0);
    dbenvp->txn_begin(dbenvp, NULL, &txnp, 0);
    ret = dbp->open(dbp, txnp, filename, dbname, DB_BTREE, DB_CREATE, 0);
    if(ret != 0)
    printf("failed to open db:%s\n",db_strerror(ret));
    return 0;
    txnp->commit(txnp, 0);
    dbp->close(dbp, DB_NOSYNC);
    I try to run my test program for a long time opening and closing db repeatly, then use the PS command and find the RSS is increasing slowly:
    ps -va
    PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
    1986 pts/0 S 0:00 466 588 4999 980 0.3 -bash
    2615 pts/0 R 0:01 588 2 5141 2500 0.9 ./test
    after a few minutes:
    ps -va
    PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
    1986 pts/0 S 0:00 473 588 4999 976 0.3 -bash
    2615 pts/0 R 30:02 689 2 156561 117892 46.2 ./test
    I had read bdb's source code before, so i tried to debug it for about a week and found something like a bug:
    If open a db with both filename and dbname, bdb will open a db handle for master db and a db handle for subdb,
    both of the two handle will get an fileid by a internal api called __dbreg_get_id, however, just the subdb's id will be
    return to bdb's log region by calling __dbreg_pop_id. It leads to a id leak if I tried to open and close the db
    repeatly, as a result, __dbreg_add_dbentry will call realloc repeatly to enlarge the dbentry area, this seens to be
    the reason for RSS increasing.
    Is it not a BUG?
    sorry for my pool english :)
    Edited by: user9222236 on 2010-2-25 下午10:38

    I have tested my program using Oracle Berkeley DB release 4.8.26 and 4.7.25 in redhat 9.0 (Kernel 2.4.20-8smp on an i686) and AIX Version 5.
    The problem is easy to be reproduced by calling the open method of db handle with both filename and dbname being specified and calling the close method.
    My program is very simple:
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/time.h>
    #include "db.h"
    int main(int argc, char * argv[])
    int ret, count;
    DB_ENV *dbenvp;
    char * filename = "test.dbf";
    char * dbname = "test";
    db_env_create(&dbenvp, 0);
    dbenvp->open(dbenvp, "/home/bdb/code/test/env",DB_CREATE|DB_INIT_LOCK|DB_INIT_LOG|DB_INIT_TXN|DB_INIT_MPOOL, 0);
    for(count = 0 ; count < 10000000 ; count++)
    DB *dbp;
    DB_TXN *txnp;
    db_create(&dbp,dbenvp, 0);
    dbenvp->txn_begin(dbenvp, NULL, &txnp, 0);
    ret = dbp->open(dbp, txnp, filename, dbname, DB_BTREE, DB_CREATE, 0);
    if(ret != 0)
    printf("failed to open db:%s\n",db_strerror(ret));
    return 0;
    txnp->commit(txnp, 0);
    dbp->close(dbp, DB_NOSYNC);
    dbenvp->close(dbenvp, 0);
    return 0;
    DB_CONFIG is like below:
    set_cachesize 0 20000 0
    set_flags db_auto_commit
    set_flags db_txn_nosync
    set_flags db_log_inmemory
    set_lk_detect db_lock_minlocks
    Edited by: user9222236 on 2010-2-28 下午5:42
    Edited by: user9222236 on 2010-2-28 下午5:45

  • Multiple return values (Bug-ID 4222792)

    I had exactly the same request for the same 3 reasons: strong type safety and code correctness verification at compile-time, code readability and ease of mantenance, performance.
    Here is what Sun replied to me:
    Autoboxing and varargs are provided as part of
    JSRs 14 and 201
    http://jcp.org/en/jsr/detail?id=14
    http://jcp.org/en/jsr/detail?id=201
    See also:
    http://forum.java.sun.com/forum.jsp?forum=316
    http://developer.java.sun.com/developer/earlyAccess/adding_generics/index.html
    Multiple return values is covered by Bug-ID 4222792
    Typically this is done by returning an array.
    http://developer.java.sun.com/developer/bugParade/bugs/4222792.html
    That's exactly the problem: we dynamically create instances of array objects that would better fit well within the operand stack without stressing the garbage collector with temporary Array object instances (and with their backing store: 2 separate allocations that need to be recycled when it is clearly a pollution that the operand stack would clean up more efficiently)
    If you would like to engage in a discussion with the Java Language developers, the Generics forum would be a better place:
    http://forum.java.sun.com/forum.jsp?forum=316
    I know that (my report was already refering to the JSR for language extension) Generics is not what I was refering to (even if a generic could handle multiple return values, it would still be an allocated Object
    instance to pack them, i.e. just less convenient than using a static class for type safety.
    The most common case of multiple return values involve values that have known static datatypes and that should be checked with strong typesafety.
    The simple case that involves returning two ints then will require at least two object instances and will not solve the garbage collection overhead.
    Using a array of variable objects is exactly similar, except that it requires two instances for the components and one instance for the generic array container. Using extra method parameters with Integer, Byte, ... boxing objects is more efficient, but for now the only practical solution (which causes the least pollution in the VM allocator and garbage collector) is to use a custom class to store the return values in a single instance.
    This is not natural, and needlessly complexifies many interfaces.
    So to avoid this pollution, some solutions are used such as packing two ints into a long and returning a long, depacking the long after return (not quite clean but still much faster at run-time for methods that need to be used with high frequencies within the application. In some case, the only way to cut down the overhead is to inline methods within the caller code, and this does not help code maintenance by splitting the implementation into small methods (something that C++ can do very easily, both because it supports native types parameters by reference, and because it also supports inline methods).
    Finally, suppose we don't want to use tricky code, difficult to maintain, then we'll have to use boxing Object types to allow passing arguments by reference. Shamely boxed native types cannot be allocated on the operand stack as local variables, so we need to instanciate these local variables before call, and we loose the capacity to track the cases where these local variables are not really initialized by an effective call to the method that will assign them. This does not help debugging, and is against the concept of a strongly typed language like Java should be:
    Java makes lots of efforts to track uninitialized variables, but has no way to determine if an already instanciated Object instance refered in a local variable has effectively received an effective assignment because only the instanciation is kept. A typical code will then need to be written like this:
    Integer a = null;
    Integer b = null;
    if (some condition) {
    //call.method(a, b, 0, 1, "dummy input arg");
    // the method is supposed to have assigned a value to a and b,
    // but can't if a and b have not been instanciated, so we perform:
    call.method(a = new Integer(), b = new Integer(), 0, 1, "dummy input
    arg");
    // we must suppose that the method has modified (not initialized!)
    the value
    // of a and b instances.
    now.use(a.value(), b.value())
    // are we sure here that a and b have received a value????
    // the code may be detected at run-time (a null exception)
    // or completely undetected (the method() above was called but it
    // forgot to assign a value to its referenced objects a and b, in which
    // case we are calling in fact: now.use(0, 0); with the default values
    // or a and b, assigned when they were instanciated)
    Very tricky... Hard to debug. It would be much simpler if we just used:
    int a;
    int b;
    if (some condition) {
    (a, b) = call.method(0, 1, "dummy input arg");
    now.use(a, b);
    The compiler would immediately detect the case where a and b are in fact not always initialized (possible use bere initialization), and the first invoked call.method() would not have to check if its arguments are not null, it would not compile if it forgets to return two values in some code path...
    There's no need to provide extra boxing objects in the source as well as at run-time, and there's no stress added to the VM allocator or garbage collector simply because return values are only allocated on the perand stack by the caller, directly instanciated within the callee which MUST (checked at compile-time) create such instances by using the return statement to instanciate them, and the caller now just needs to use directly the variables which were referenced before call (here a and b). Clean and mean. And it allows strong typechecking as well (so this is a real help for programmers.
    Note that the signature of the method() above is:
    class call {
    (int, int) method(int, int, String) { ... }
    id est:
    class "call", member name "method", member type "(IILjava.lang.string;)II"
    This last signature means that the method can only be called by returning the value into a pair of variables of type int, or using the return value as a pair of actual arguments for another method call such as:
    call.method(call.method("dummy input arg"), "other dummy input arg")
    This is strongly typed and convenient to write and debug and very efficient at run-time...

    Can anyone give me some real-world examples where
    multiple return values aren't better captured in a
    class that logically groups those values? I can of
    course give hundreds of examples for why it's better
    to capture method arguments as multiple values instead
    of as one "logical object", but whenever I've hankered
    for multiple return values, I end up rethinking my
    strategy and rewriting my code to be better Object
    Oriented.I'd personally say you're usually right. There's almost always a O-O way of avoiding the situation.
    Sometimes though, you really do just want to return "two ints" from a function. There's no logical object you can think of to put them in. So you end up polluting the namespace:
    public class MyUsefulClass {
    public TwoInts calculateSomething(int a, int b, int c) {
    public static class TwoInts {
        //now, do I use two public int fields here, making it
        //in essence a struct?
       //or do I make my two ints private & final, which
       //requires a constructor & two getters?
      //and while I'm at it, is it worth implementing
      //equals(), how about hashCode()? clone()?
      //readResolve() ?
    }The answer to most of the questions for something as simple as "TwoInts" is usually "no: its not worth implementing those methods", but I still have to think about them.
    More to the point, the TwoInts class looks so ugly polluting the top level namespace like that, MyUsefulClass.TwoInts is public, that I don't think I've ever actually created that class. I always find some way to avoid it, even if the workaround is just as ugly.
    For myself, I'd like to see some simple pass-by-value "Tuple" type. My fear is it'd be abused as a way for lazy programmers to avoid creating objects when they should have a logical type for readability & maintainability.
    Anyone who has maintained code where someone has passed in all their arguments as (mutable!) Maps, Collections and/or Arrays and "returned" values by mutating those structures knows what a nightmare it can be. Which I suppose is an argument that cuts both ways: on the one hand you can say: "why add Tuples which would be another easy thing to abuse", on the other: "why not add Tuples, given Arrays and the Collections framework already allow bad programmers to produce unmainable mush. One more feature isn't going to make a difference either way".
    Ho hum.

  • Extensions like Ghostery, WOT or AdBlock stop working after two or three times. Restarting the webpage in a new tab the extensions will work again for several times and then stop again. Has anybody an explanation or a workaround for this bug in Safari 5?

    Extensions like Ghostery, WOT or AdBlock stop working after two or three times. Restarting the webpage in a new tab the extensions will work again for several times and then stop again. Has anybody an explanation or a workaround for this bug in Safari 5?

    Remove the extensions, redownload Safari, reload the extensions.
    http://www.apple.com/safari/download/
    And if you really want a better experience, use Firefox, tons more choices and possibilities there.
    Firefox's "NoScript" will block the Trojan going around on websites. Best web security you can get.
    https://addons.mozilla.org/en-US/firefox/addon/noscript/
    Ghostery, Ad Block Plus and thousands of add-ons more have originated on Firefox.

  • Bug? My events on the iPad iCal app aren't shown in the year view if they are more than two years in the future.

    My events on the iPad iCal app aren't shown in the year view if they are more than two years in the future even though I can see them on the month, week and day view. Any suggestions on how to fix it? I've tried it all. I called the apple support and they checked on their iPads. They all did the same and they couldn't help me. They suggested trying this way. I'd like to be able to plan a few years ahead and the year view would make thing so easy!
    Is this a bug?

    Go to the Home screen and double click the Home button. That will reveal the row of recently used apps at the bottom of the screen. Tap and hold on the app in question until it wiggles and displays a minus sign. Tap the minus sign to actually quit the app. Then tap anywhere on the screen above that bottom row to return the screen to normal. Then restart the app and see if it works normally.
    Then reboot your iPad. Press and hold the Home and Sleep buttons simultaneously ignoring the red slider until the Apple logo appears. Let go of the buttons and let the iPad restart. See if that fixes your problem.

  • HT4528 My IPhone Bugged out/It is currently in the reset mode. I need to exchange all of my contacts from my Yahoo acct. to my new IPHONE. Can you please help me?

    Hello ,
    I purchased my IPHONE about 2 months ago. I am visiting family in DE & this tuesday it starting to go off & on by itself. Then the icons looked like they were floating . Then I could not call or text . The SIRI device would not work. Then it would shut down then the apple icon would reappear. I took it to a verizon dealer in Rehoboth DE & they said it BUGGED OUT/It is in a RESTORE MODE. It will not turn on. We could not transfer anny of my pics or contacts. I never even had a chance to back up the memory on ITUNES.
    The tech @ Verizon said to contact APPLE to trouble shoot and try and transfer the contacts from my yahoo acct.
    Can you please help?
    Gina

    set up your yahoo account in mail, contacts, calendars as an Exchange Account and you should be able to get your contacts from Yahoo from there.

Maybe you are looking for

  • Data in the Cube not getting aggregated

    Hi Friends We have Cube 1 and Cube 2. The data flow is represented below: R/3 DataSource>Cube1>Cube2 In Cube1 data is Stored according to the Calender Day. Cube2 has Calweek. In Transformations of Cube 1 and Cube 2 Calday of Cube 1 is mapped to Calwe

  • Handling Units Deletion from Shipment

    Hi,     I got a problem in deletion of handling units using the FMs V51P_FILL_GT and then HU_PACKING_AND_UNPACKING. The FM HU_PACKING_AND_UNPACKING has got a structure gt_xvekp which gets populated dynamically when a HU is deleted from a shipment, bu

  • Here's a wierd one for ya' (JNI - JVM Maladies!)

    I'm at my wit's end, sorry for the abstract manner in which I'm going to describe this, I don't have time to write a novel about the intricacies of what the C code described herein does and I'm sure you won't have time to read it. I'm using JNI to wr

  • Relative Path Problem

    Simple problem, i have a file named gallery.swf in /site/gallery/ and when i launch the file swf from that directory the loading is going fine, im loading a xml file with this command "xmlReadGalleries.load("photo_galleries.xml")" so the file is load

  • Multiple series in a chart

    Hi I want to create a chart with multiple series, each serie referring to a specific country. The query below is not accepted: SELECT null url,s.date_from,s.country,sum(s.unique_players) unique_players FROM   my_table s ...As a workaround I changed t